VirtualBox

Changeset 107041 in vbox


Ignore:
Timestamp:
Nov 19, 2024 11:56:07 AM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165992
Message:

EFI/Firmware: Part of changes required for building the arm images on windows hosts with llvm. The executable wrapper for python scripts is because kmk has trouble finding the .cmd-files. The additions of CLANGDWARF to vbox-tools_defs.txt is copied from the BaseTools/Conf/tools_def.txt and tweaked a tiny bit. jiraref:VBP-1458

Location:
trunk/src/VBox/Devices/EFI/Firmware
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/Firmware/Config.kmk

    r107020 r107041  
    5151VBOX_PATH_STAGE_EFI_BLDPROGS = $(PATH_STAGE)/EfiBldProgs
    5252VBOX_EFI_BUILD_TARGET  = $(if-expr $(intersects release profile, $(KBUILD_TYPE)),RELEASE,DEBUG)
    53 VBOX_EFI_OUTPUT_SUBDIR = $(VBOX_EFI_BUILD_TARGET)_$(VBOX_EFI_TOOL_CHAIN)
     53VBOX_EFI_OUTPUT_SUBDIR = $(VBOX_EFI_BUILD_TARGET)_$(VBOX_EFI_TOOL_CHAIN.$1)
    5454
    5555# VBox Yasm command
     
    7878ifeq ($(KBUILD_HOST),win)
    7979 # The VS2019 template is the same as the VS2022 in upstream, so we stick with this till we upgrade.
    80  VBOX_EFI_TOOL_CHAIN := VS2019
     80 VBOX_EFI_TOOL_CHAIN.x86   := VS2019
     81 VBOX_EFI_TOOL_CHAIN.amd64 := VS2019
     82 VBOX_EFI_TOOL_CHAIN.arm32 := CLANGDWARF
     83 VBOX_EFI_TOOL_CHAIN.arm64 := CLANGDWARF
    8184else
    82  VBOX_EFI_TOOL_CHAIN = GCC48
     85 VBOX_EFI_TOOL_CHAIN.x86   := GCC48
     86 VBOX_EFI_TOOL_CHAIN.amd64 := GCC48
     87 VBOX_EFI_TOOL_CHAIN.arm32 := GCC48
     88 VBOX_EFI_TOOL_CHAIN.arm64 := GCC48
    8389endif
    8490
  • trunk/src/VBox/Devices/EFI/Firmware/EfiModules.kmk

    r107020 r107041  
    4242 # up in, apparently.  In the generated makefiles, DEBUG_DIR points to them.
    4343 #
    44  if1of ($(VBOX_EFI_TOOL_CHAIN), VS2017 VS2019 VS2022) ## @todo figure why/how this happens.
    45   VBOX_EFI_DEBUG_DIR = OUTPUT
    46  else
    47   VBOX_EFI_DEBUG_DIR = DEBUG
     44 if1of ($(VBOX_EFI_TOOL_CHAIN.x86), VS2017 VS2019 VS2022)
     45  VBOX_EFI_DEBUG_DIR.x86 = OUTPUT
     46 else
     47  VBOX_EFI_DEBUG_DIR.x86 = DEBUG
     48 endif
     49 if1of ($(VBOX_EFI_TOOL_CHAIN.amd64), VS2017 VS2019 VS2022)
     50  VBOX_EFI_DEBUG_DIR.amd64 = OUTPUT
     51 else
     52  VBOX_EFI_DEBUG_DIR.amd64 = DEBUG
     53 endif
     54 if1of ($(VBOX_EFI_TOOL_CHAIN.arm32), VS2017 VS2019 VS2022 CLANGPDB)
     55  VBOX_EFI_DEBUG_DIR.arm32 = OUTPUT
     56 else
     57  VBOX_EFI_DEBUG_DIR.arm32 = DEBUG
     58 endif
     59 if1of ($(VBOX_EFI_TOOL_CHAIN.arm64), VS2017 VS2019 VS2022 CLANGPDB)
     60  VBOX_EFI_DEBUG_DIR.arm64 = OUTPUT
     61 else
     62  VBOX_EFI_DEBUG_DIR.arm64 = DEBUG
    4863 endif
    4964
     
    5267 #
    5368 VBOX_EFI_MODULES_CMN = \
    54         MdeModulePkg/Universal/BdsDxe/BdsDxe/$(VBOX_EFI_DEBUG_DIR)/BdsDxe
    55 
    56  VBOX_EFI_MODULES_X86 = \
    57         $(VBOX_EFI_MODULES_CMN) \
    58         FatPkg/EnhancedFatDxe/Fat/$(VBOX_EFI_DEBUG_DIR)/Fat \
    59         MdeModulePkg/Application/UiApp/UiApp/$(VBOX_EFI_DEBUG_DIR)/UiApp \
    60         MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru/$(VBOX_EFI_DEBUG_DIR)/AtaAtapiPassThruDxe \
    61         MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe/$(VBOX_EFI_DEBUG_DIR)/AtaBusDxe \
    62         MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe/$(VBOX_EFI_DEBUG_DIR)/Ps2KeyboardDxe \
    63         MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe/$(VBOX_EFI_DEBUG_DIR)/EhciDxe \
    64         MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe/$(VBOX_EFI_DEBUG_DIR)/NvmExpressDxe \
    65         MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe/$(VBOX_EFI_DEBUG_DIR)/PciBusDxe \
    66         MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe/$(VBOX_EFI_DEBUG_DIR)/PciHostBridgeDxe \
    67         MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe/$(VBOX_EFI_DEBUG_DIR)/PciSioSerialDxe \
    68         MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe/$(VBOX_EFI_DEBUG_DIR)/SataController \
    69         MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe/$(VBOX_EFI_DEBUG_DIR)/UhciDxe \
    70         MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe/$(VBOX_EFI_DEBUG_DIR)/XhciDxe \
    71         MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe/$(VBOX_EFI_DEBUG_DIR)/ScsiBus \
    72         MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe/$(VBOX_EFI_DEBUG_DIR)/ScsiDisk \
    73         MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe/$(VBOX_EFI_DEBUG_DIR)/UsbBusDxe \
    74         MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe/$(VBOX_EFI_DEBUG_DIR)/UsbKbDxe \
    75         MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe/$(VBOX_EFI_DEBUG_DIR)/UsbMassStorageDxe \
    76         MdeModulePkg/Core/Dxe/DxeMain/$(VBOX_EFI_DEBUG_DIR)/DxeCore \
    77         MdeModulePkg/Core/DxeIplPeim/DxeIpl/$(VBOX_EFI_DEBUG_DIR)/DxeIpl \
    78         MdeModulePkg/Core/Pei/PeiMain/$(VBOX_EFI_DEBUG_DIR)/PeiCore \
    79         MdeModulePkg/Core/RuntimeDxe/RuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/RuntimeDxe \
    80         MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe/$(VBOX_EFI_DEBUG_DIR)/AcpiPlatform \
    81         MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/$(VBOX_EFI_DEBUG_DIR)/AcpiTableDxe \
    82         MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/$(VBOX_EFI_DEBUG_DIR)/BootGraphicsResourceTableDxe \
    83         MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/CapsuleRuntimeDxe \
    84         MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/$(VBOX_EFI_DEBUG_DIR)/ConPlatformDxe \
    85         MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/$(VBOX_EFI_DEBUG_DIR)/ConSplitterDxe \
    86         MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe/$(VBOX_EFI_DEBUG_DIR)/GraphicsConsoleDxe \
    87         MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe/$(VBOX_EFI_DEBUG_DIR)/TerminalDxe \
    88         MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/$(VBOX_EFI_DEBUG_DIR)/DevicePathDxe \
    89         MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe/$(VBOX_EFI_DEBUG_DIR)/DisplayEngine \
    90         MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/$(VBOX_EFI_DEBUG_DIR)/DiskIoDxe \
    91         MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/$(VBOX_EFI_DEBUG_DIR)/PartitionDxe \
    92         MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/$(VBOX_EFI_DEBUG_DIR)/RamDiskDxe \
    93         MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe/$(VBOX_EFI_DEBUG_DIR)/UdfDxe \
    94         MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/$(VBOX_EFI_DEBUG_DIR)/EnglishDxe \
    95         MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe/$(VBOX_EFI_DEBUG_DIR)/DriverHealthManagerDxe \
    96         MdeModulePkg/Universal/EbcDxe/EbcDxe/$(VBOX_EFI_DEBUG_DIR)/EbcDxe \
    97         MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/$(VBOX_EFI_DEBUG_DIR)/FaultTolerantWriteDxe \
    98         MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe/$(VBOX_EFI_DEBUG_DIR)/HiiDatabase \
    99         MdeModulePkg/Universal/Metronome/Metronome/$(VBOX_EFI_DEBUG_DIR)/Metronome \
    100         MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/MonotonicCounterRuntimeDxe \
    101         MdeModulePkg/Universal/PCD/Dxe/Pcd/$(VBOX_EFI_DEBUG_DIR)/PcdDxe \
    102         MdeModulePkg/Universal/PCD/Pei/Pcd/$(VBOX_EFI_DEBUG_DIR)/PcdPeim \
    103         MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei/$(VBOX_EFI_DEBUG_DIR)/ReportStatusCodeRouterPei \
    104         MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/ReportStatusCodeRouterRuntimeDxe \
    105         MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/ResetSystemRuntimeDxe \
    106         MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe/$(VBOX_EFI_DEBUG_DIR)/SecurityStubDxe \
    107         MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/$(VBOX_EFI_DEBUG_DIR)/SetupBrowser \
    108         MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe/$(VBOX_EFI_DEBUG_DIR)/SmbiosDxe \
    109         MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei/$(VBOX_EFI_DEBUG_DIR)/StatusCodeHandlerPei \
    110         MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/StatusCodeHandlerRuntimeDxe \
    111         MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/VariableRuntimeDxe \
    112         MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer/$(VBOX_EFI_DEBUG_DIR)/WatchdogTimer \
    113         NetworkPkg/ArpDxe/ArpDxe/$(VBOX_EFI_DEBUG_DIR)/ArpDxe \
    114         NetworkPkg/Dhcp4Dxe/Dhcp4Dxe/$(VBOX_EFI_DEBUG_DIR)/Dhcp4Dxe \
    115         NetworkPkg/DpcDxe/DpcDxe/$(VBOX_EFI_DEBUG_DIR)/DpcDxe \
    116         NetworkPkg/Ip4Dxe/Ip4Dxe/$(VBOX_EFI_DEBUG_DIR)/Ip4Dxe \
    117         NetworkPkg/MnpDxe/MnpDxe/$(VBOX_EFI_DEBUG_DIR)/MnpDxe \
    118         NetworkPkg/Mtftp4Dxe/Mtftp4Dxe/$(VBOX_EFI_DEBUG_DIR)/Mtftp4Dxe \
    119         NetworkPkg/SnpDxe/SnpDxe/$(VBOX_EFI_DEBUG_DIR)/SnpDxe \
    120         NetworkPkg/TcpDxe/TcpDxe/$(VBOX_EFI_DEBUG_DIR)/TcpDxe \
    121         NetworkPkg/Udp4Dxe/Udp4Dxe/$(VBOX_EFI_DEBUG_DIR)/Udp4Dxe \
    122         NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe/$(VBOX_EFI_DEBUG_DIR)/UefiPxeBcDxe \
    123         NetworkPkg/VlanConfigDxe/VlanConfigDxe/$(VBOX_EFI_DEBUG_DIR)/VlanConfigDxe \
    124         OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb/$(VBOX_EFI_DEBUG_DIR)/EmuVariableFvbRuntimeDxe \
    125         OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport/$(VBOX_EFI_DEBUG_DIR)/IncompatiblePciDeviceSupportDxe \
    126         OvmfPkg/IoMmuDxe/IoMmuDxe/$(VBOX_EFI_DEBUG_DIR)/IoMmuDxe \
    127         OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit/$(VBOX_EFI_DEBUG_DIR)/PciHotPlugInitDxe \
    128         OvmfPkg/PlatformDxe/Platform/$(VBOX_EFI_DEBUG_DIR)/PlatformDxe \
    129         OvmfPkg/PlatformPei/PlatformPei/$(VBOX_EFI_DEBUG_DIR)/PlatformPei \
    130         OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/FvbServicesRuntimeDxe \
    131         OvmfPkg/Sec/SecMain/$(VBOX_EFI_DEBUG_DIR)/SecMain \
    132         OvmfPkg/SioBusDxe/SioBusDxe/$(VBOX_EFI_DEBUG_DIR)/SioBusDxe \
    133         OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe/$(VBOX_EFI_DEBUG_DIR)/SmbiosPlatformDxe \
    134         OvmfPkg/Virtio10Dxe/Virtio10/$(VBOX_EFI_DEBUG_DIR)/Virtio10 \
    135         OvmfPkg/VirtioNetDxe/VirtioNet/$(VBOX_EFI_DEBUG_DIR)/VirtioNetDxe \
    136         OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe/$(VBOX_EFI_DEBUG_DIR)/VirtioPciDeviceDxe \
    137         OvmfPkg/VirtioScsiDxe/VirtioScsi/$(VBOX_EFI_DEBUG_DIR)/VirtioScsiDxe \
    138         PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/PcRtc \
    139         ShellPkg/Application/Shell/Shell/$(VBOX_EFI_DEBUG_DIR)/Shell \
    140         ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand/$(VBOX_EFI_DEBUG_DIR)/tftpDynamicCommand \
    141         UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe/$(VBOX_EFI_DEBUG_DIR)/CpuIo2Dxe \
    142         UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei/$(VBOX_EFI_DEBUG_DIR)/S3Resume2Pei \
    143         VBoxPkg/Logo/LogoDxe/$(VBOX_EFI_DEBUG_DIR)/LogoDxe \
    144         VBoxPkg/VBoxAppleSim/VBoxAppleSim/$(VBOX_EFI_DEBUG_DIR)/VBoxAppleSim \
    145         VBoxPkg/VBoxFsDxe/VBoxHfs/$(VBOX_EFI_DEBUG_DIR)/VBoxHfs \
    146         VBoxPkg/VBoxSysTables/VBoxSysTables/$(VBOX_EFI_DEBUG_DIR)/VBoxSysTables \
    147         VBoxPkg/VBoxVgaDxe/VBoxVgaDxe/$(VBOX_EFI_DEBUG_DIR)/VBoxVgaDxe
    148 
    149  VBOX_EFI_MODULES_ARM = \
    150         $(VBOX_EFI_MODULES_CMN)
     69        MdeModulePkg/Universal/BdsDxe/BdsDxe/$(VBOX_EFI_DEBUG_DIR.$1)/BdsDxe
     70
     71 VBOX_EFI_MODULES.x86 = \
     72        $(call VBOX_EFI_MODULES_CMN,x86) \
     73        FatPkg/EnhancedFatDxe/Fat/$(VBOX_EFI_DEBUG_DIR.x86)/Fat \
     74        MdeModulePkg/Application/UiApp/UiApp/$(VBOX_EFI_DEBUG_DIR.x86)/UiApp \
     75        MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru/$(VBOX_EFI_DEBUG_DIR.x86)/AtaAtapiPassThruDxe \
     76        MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe/$(VBOX_EFI_DEBUG_DIR.x86)/AtaBusDxe \
     77        MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe/$(VBOX_EFI_DEBUG_DIR.x86)/Ps2KeyboardDxe \
     78        MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe/$(VBOX_EFI_DEBUG_DIR.x86)/EhciDxe \
     79        MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe/$(VBOX_EFI_DEBUG_DIR.x86)/NvmExpressDxe \
     80        MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe/$(VBOX_EFI_DEBUG_DIR.x86)/PciBusDxe \
     81        MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/PciHostBridgeDxe \
     82        MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe/$(VBOX_EFI_DEBUG_DIR.x86)/PciSioSerialDxe \
     83        MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe/$(VBOX_EFI_DEBUG_DIR.x86)/SataController \
     84        MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe/$(VBOX_EFI_DEBUG_DIR.x86)/UhciDxe \
     85        MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe/$(VBOX_EFI_DEBUG_DIR.x86)/XhciDxe \
     86        MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe/$(VBOX_EFI_DEBUG_DIR.x86)/ScsiBus \
     87        MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe/$(VBOX_EFI_DEBUG_DIR.x86)/ScsiDisk \
     88        MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe/$(VBOX_EFI_DEBUG_DIR.x86)/UsbBusDxe \
     89        MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe/$(VBOX_EFI_DEBUG_DIR.x86)/UsbKbDxe \
     90        MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe/$(VBOX_EFI_DEBUG_DIR.x86)/UsbMassStorageDxe \
     91        MdeModulePkg/Core/Dxe/DxeMain/$(VBOX_EFI_DEBUG_DIR.x86)/DxeCore \
     92        MdeModulePkg/Core/DxeIplPeim/DxeIpl/$(VBOX_EFI_DEBUG_DIR.x86)/DxeIpl \
     93        MdeModulePkg/Core/Pei/PeiMain/$(VBOX_EFI_DEBUG_DIR.x86)/PeiCore \
     94        MdeModulePkg/Core/RuntimeDxe/RuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/RuntimeDxe \
     95        MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe/$(VBOX_EFI_DEBUG_DIR.x86)/AcpiPlatform \
     96        MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/$(VBOX_EFI_DEBUG_DIR.x86)/AcpiTableDxe \
     97        MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/$(VBOX_EFI_DEBUG_DIR.x86)/BootGraphicsResourceTableDxe \
     98        MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/CapsuleRuntimeDxe \
     99        MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/$(VBOX_EFI_DEBUG_DIR.x86)/ConPlatformDxe \
     100        MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/$(VBOX_EFI_DEBUG_DIR.x86)/ConSplitterDxe \
     101        MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe/$(VBOX_EFI_DEBUG_DIR.x86)/GraphicsConsoleDxe \
     102        MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe/$(VBOX_EFI_DEBUG_DIR.x86)/TerminalDxe \
     103        MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/$(VBOX_EFI_DEBUG_DIR.x86)/DevicePathDxe \
     104        MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe/$(VBOX_EFI_DEBUG_DIR.x86)/DisplayEngine \
     105        MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/$(VBOX_EFI_DEBUG_DIR.x86)/DiskIoDxe \
     106        MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/$(VBOX_EFI_DEBUG_DIR.x86)/PartitionDxe \
     107        MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/$(VBOX_EFI_DEBUG_DIR.x86)/RamDiskDxe \
     108        MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe/$(VBOX_EFI_DEBUG_DIR.x86)/UdfDxe \
     109        MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/$(VBOX_EFI_DEBUG_DIR.x86)/EnglishDxe \
     110        MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe/$(VBOX_EFI_DEBUG_DIR.x86)/DriverHealthManagerDxe \
     111        MdeModulePkg/Universal/EbcDxe/EbcDxe/$(VBOX_EFI_DEBUG_DIR.x86)/EbcDxe \
     112        MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/$(VBOX_EFI_DEBUG_DIR.x86)/FaultTolerantWriteDxe \
     113        MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe/$(VBOX_EFI_DEBUG_DIR.x86)/HiiDatabase \
     114        MdeModulePkg/Universal/Metronome/Metronome/$(VBOX_EFI_DEBUG_DIR.x86)/Metronome \
     115        MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/MonotonicCounterRuntimeDxe \
     116        MdeModulePkg/Universal/PCD/Dxe/Pcd/$(VBOX_EFI_DEBUG_DIR.x86)/PcdDxe \
     117        MdeModulePkg/Universal/PCD/Pei/Pcd/$(VBOX_EFI_DEBUG_DIR.x86)/PcdPeim \
     118        MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei/$(VBOX_EFI_DEBUG_DIR.x86)/ReportStatusCodeRouterPei \
     119        MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/ReportStatusCodeRouterRuntimeDxe \
     120        MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/ResetSystemRuntimeDxe \
     121        MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe/$(VBOX_EFI_DEBUG_DIR.x86)/SecurityStubDxe \
     122        MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/$(VBOX_EFI_DEBUG_DIR.x86)/SetupBrowser \
     123        MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe/$(VBOX_EFI_DEBUG_DIR.x86)/SmbiosDxe \
     124        MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei/$(VBOX_EFI_DEBUG_DIR.x86)/StatusCodeHandlerPei \
     125        MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/StatusCodeHandlerRuntimeDxe \
     126        MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/VariableRuntimeDxe \
     127        MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer/$(VBOX_EFI_DEBUG_DIR.x86)/WatchdogTimer \
     128        NetworkPkg/ArpDxe/ArpDxe/$(VBOX_EFI_DEBUG_DIR.x86)/ArpDxe \
     129        NetworkPkg/Dhcp4Dxe/Dhcp4Dxe/$(VBOX_EFI_DEBUG_DIR.x86)/Dhcp4Dxe \
     130        NetworkPkg/DpcDxe/DpcDxe/$(VBOX_EFI_DEBUG_DIR.x86)/DpcDxe \
     131        NetworkPkg/Ip4Dxe/Ip4Dxe/$(VBOX_EFI_DEBUG_DIR.x86)/Ip4Dxe \
     132        NetworkPkg/MnpDxe/MnpDxe/$(VBOX_EFI_DEBUG_DIR.x86)/MnpDxe \
     133        NetworkPkg/Mtftp4Dxe/Mtftp4Dxe/$(VBOX_EFI_DEBUG_DIR.x86)/Mtftp4Dxe \
     134        NetworkPkg/SnpDxe/SnpDxe/$(VBOX_EFI_DEBUG_DIR.x86)/SnpDxe \
     135        NetworkPkg/TcpDxe/TcpDxe/$(VBOX_EFI_DEBUG_DIR.x86)/TcpDxe \
     136        NetworkPkg/Udp4Dxe/Udp4Dxe/$(VBOX_EFI_DEBUG_DIR.x86)/Udp4Dxe \
     137        NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe/$(VBOX_EFI_DEBUG_DIR.x86)/UefiPxeBcDxe \
     138        NetworkPkg/VlanConfigDxe/VlanConfigDxe/$(VBOX_EFI_DEBUG_DIR.x86)/VlanConfigDxe \
     139        OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb/$(VBOX_EFI_DEBUG_DIR.x86)/EmuVariableFvbRuntimeDxe \
     140        OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport/$(VBOX_EFI_DEBUG_DIR.x86)/IncompatiblePciDeviceSupportDxe \
     141        OvmfPkg/IoMmuDxe/IoMmuDxe/$(VBOX_EFI_DEBUG_DIR.x86)/IoMmuDxe \
     142        OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit/$(VBOX_EFI_DEBUG_DIR.x86)/PciHotPlugInitDxe \
     143        OvmfPkg/PlatformDxe/Platform/$(VBOX_EFI_DEBUG_DIR.x86)/PlatformDxe \
     144        OvmfPkg/PlatformPei/PlatformPei/$(VBOX_EFI_DEBUG_DIR.x86)/PlatformPei \
     145        OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/FvbServicesRuntimeDxe \
     146        OvmfPkg/Sec/SecMain/$(VBOX_EFI_DEBUG_DIR.x86)/SecMain \
     147        OvmfPkg/SioBusDxe/SioBusDxe/$(VBOX_EFI_DEBUG_DIR.x86)/SioBusDxe \
     148        OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe/$(VBOX_EFI_DEBUG_DIR.x86)/SmbiosPlatformDxe \
     149        OvmfPkg/Virtio10Dxe/Virtio10/$(VBOX_EFI_DEBUG_DIR.x86)/Virtio10 \
     150        OvmfPkg/VirtioNetDxe/VirtioNet/$(VBOX_EFI_DEBUG_DIR.x86)/VirtioNetDxe \
     151        OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe/$(VBOX_EFI_DEBUG_DIR.x86)/VirtioPciDeviceDxe \
     152        OvmfPkg/VirtioScsiDxe/VirtioScsi/$(VBOX_EFI_DEBUG_DIR.x86)/VirtioScsiDxe \
     153        PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.x86)/PcRtc \
     154        ShellPkg/Application/Shell/Shell/$(VBOX_EFI_DEBUG_DIR.x86)/Shell \
     155        ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand/$(VBOX_EFI_DEBUG_DIR.x86)/tftpDynamicCommand \
     156        UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe/$(VBOX_EFI_DEBUG_DIR.x86)/CpuIo2Dxe \
     157        UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei/$(VBOX_EFI_DEBUG_DIR.x86)/S3Resume2Pei \
     158        VBoxPkg/Logo/LogoDxe/$(VBOX_EFI_DEBUG_DIR.x86)/LogoDxe \
     159        VBoxPkg/VBoxAppleSim/VBoxAppleSim/$(VBOX_EFI_DEBUG_DIR.x86)/VBoxAppleSim \
     160        VBoxPkg/VBoxFsDxe/VBoxHfs/$(VBOX_EFI_DEBUG_DIR.x86)/VBoxHfs \
     161        VBoxPkg/VBoxSysTables/VBoxSysTables/$(VBOX_EFI_DEBUG_DIR.x86)/VBoxSysTables \
     162        VBoxPkg/VBoxVgaDxe/VBoxVgaDxe/$(VBOX_EFI_DEBUG_DIR.x86)/VBoxVgaDxe
     163
     164 VBOX_EFI_MODULES.amd64 = $(VBOX_EFI_MODULES.x86)
     165
     166 ## @todo complete VBOX_EFI_MODULES_ARM32 and VBOX_EFI_MODULES_AMD64.
     167 VBOX_EFI_MODULES.arm32 = \
     168        $(call VBOX_EFI_MODULES_CMN,arm32)
     169
     170 VBOX_EFI_MODULES.arm64 = \
     171        $(call VBOX_EFI_MODULES_CMN,arm64) \
     172        ArmPkg/Drivers/ArmGic/ArmGicDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ArmGicDxe \
     173        ArmPkg/Drivers/CpuDxe/CpuDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ArmCpuDxe \
     174        ArmPkg/Drivers/CpuPei/CpuPei/$(VBOX_EFI_DEBUG_DIR.arm64)/CpuPei \
     175        ArmPkg/Drivers/TimerDxe/TimerDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ArmTimerDxe \
     176        ArmPlatformPkg/PlatformPei/PlatformPeim/$(VBOX_EFI_DEBUG_DIR.arm64)/PlatformPei \
     177        ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore/$(VBOX_EFI_DEBUG_DIR.arm64)/ArmPlatformPrePeiCore \
     178        ArmVirtPkg/MemoryInitPei/MemoryInitPeim/$(VBOX_EFI_DEBUG_DIR.arm64)/MemoryInit \
     179        EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/FdtClientDxe \
     180        EmbeddedPkg/MetronomeDxe/MetronomeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/MetronomeDxe \
     181        EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/RealTimeClock \
     182        FatPkg/EnhancedFatDxe/Fat/$(VBOX_EFI_DEBUG_DIR.arm64)/Fat \
     183        MdeModulePkg/Application/UiApp/UiApp/$(VBOX_EFI_DEBUG_DIR.arm64)/UiApp \
     184        MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru/$(VBOX_EFI_DEBUG_DIR.arm64)/AtaAtapiPassThruDxe \
     185        MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/AtaBusDxe \
     186        MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/EhciDxe \
     187        MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/NvmExpressDxe \
     188        MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/PciBusDxe \
     189        MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/PciHostBridgeDxe \
     190        MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/SataController \
     191        MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/UhciDxe \
     192        MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/XhciDxe \
     193        MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ScsiBus \
     194        MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ScsiDisk \
     195        MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/UsbBusDxe \
     196        MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/UsbKbDxe \
     197        MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/UsbMassStorageDxe \
     198        MdeModulePkg/Core/Dxe/DxeMain/$(VBOX_EFI_DEBUG_DIR.arm64)/DxeCore \
     199        MdeModulePkg/Core/DxeIplPeim/DxeIpl/$(VBOX_EFI_DEBUG_DIR.arm64)/DxeIpl \
     200        MdeModulePkg/Core/Pei/PeiMain/$(VBOX_EFI_DEBUG_DIR.arm64)/PeiCore \
     201        MdeModulePkg/Core/RuntimeDxe/RuntimeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/RuntimeDxe \
     202        MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/AcpiTableDxe \
     203        MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/BootGraphicsResourceTableDxe \
     204        MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/CapsuleRuntimeDxe \
     205        MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ConPlatformDxe \
     206        MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ConSplitterDxe \
     207        MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/GraphicsConsoleDxe \
     208        MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/TerminalDxe \
     209        MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/DevicePathDxe \
     210        MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/DiskIoDxe \
     211        MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/PartitionDxe \
     212        MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/RamDiskDxe \
     213        MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/UdfDxe \
     214        MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/EnglishDxe \
     215        MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/DisplayEngine \
     216        MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/DriverHealthManagerDxe \
     217        MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/FaultTolerantWriteDxe \
     218        MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/HiiDatabase \
     219        MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/MonotonicCounterRuntimeDxe \
     220        MdeModulePkg/Universal/PCD/Dxe/Pcd/$(VBOX_EFI_DEBUG_DIR.arm64)/PcdDxe \
     221        MdeModulePkg/Universal/PCD/Pei/Pcd/$(VBOX_EFI_DEBUG_DIR.arm64)/PcdPeim \
     222        MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ReportStatusCodeRouterRuntimeDxe \
     223        MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei/$(VBOX_EFI_DEBUG_DIR.arm64)/ResetSystemPei \
     224        MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ResetSystemRuntimeDxe \
     225        MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/SecurityStubDxe \
     226        MdeModulePkg/Universal/SerialDxe/SerialDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/SerialDxe \
     227        MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/SetupBrowser \
     228        MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/SmbiosDxe \
     229        MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VariableRuntimeDxe \
     230        MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer/$(VBOX_EFI_DEBUG_DIR.arm64)/WatchdogTimer \
     231        NetworkPkg/ArpDxe/ArpDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/ArpDxe \
     232        NetworkPkg/Dhcp4Dxe/Dhcp4Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Dhcp4Dxe \
     233        NetworkPkg/Dhcp6Dxe/Dhcp6Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Dhcp6Dxe \
     234        NetworkPkg/DpcDxe/DpcDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/DpcDxe \
     235        NetworkPkg/Ip4Dxe/Ip4Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Ip4Dxe \
     236        NetworkPkg/Ip6Dxe/Ip6Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Ip6Dxe \
     237        NetworkPkg/IScsiDxe/IScsiDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/IScsiDxe \
     238        NetworkPkg/MnpDxe/MnpDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/MnpDxe \
     239        NetworkPkg/Mtftp4Dxe/Mtftp4Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Mtftp4Dxe \
     240        NetworkPkg/Mtftp6Dxe/Mtftp6Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Mtftp6Dxe \
     241        NetworkPkg/TcpDxe/TcpDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/TcpDxe \
     242        NetworkPkg/Udp4Dxe/Udp4Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Udp4Dxe \
     243        NetworkPkg/Udp6Dxe/Udp6Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Udp6Dxe \
     244        NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/UefiPxeBcDxe \
     245        NetworkPkg/VlanConfigDxe/VlanConfigDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VlanConfigDxe \
     246        OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys/$(VBOX_EFI_DEBUG_DIR.arm64)/EnrollDefaultKeys \
     247        OvmfPkg/Fdt/HighMemDxe/HighMemDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/HighMemDxe \
     248        OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioFdtDxe \
     249        OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand/$(VBOX_EFI_DEBUG_DIR.arm64)/LinuxInitrdDynamicShellCommand \
     250        OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit/$(VBOX_EFI_DEBUG_DIR.arm64)/PciHotPlugInitDxe \
     251        OvmfPkg/PlatformDxe/Platform/$(VBOX_EFI_DEBUG_DIR.arm64)/PlatformDxe \
     252        OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/PlatformHasAcpiDtDxe \
     253        OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/QemuKernelLoaderFsDxe \
     254        OvmfPkg/QemuRamfbDxe/QemuRamfbDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/QemuRamfbDxe \
     255        OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/SmbiosPlatformDxe \
     256        OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei/$(VBOX_EFI_DEBUG_DIR.arm64)/Tcg2ConfigPei \
     257        OvmfPkg/Virtio10Dxe/Virtio10/$(VBOX_EFI_DEBUG_DIR.arm64)/Virtio10 \
     258        OvmfPkg/VirtioBlkDxe/VirtioBlk/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioBlkDxe \
     259        OvmfPkg/VirtioFsDxe/VirtioFsDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioFsDxe \
     260        OvmfPkg/VirtioGpuDxe/VirtioGpu/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioGpuDxe \
     261        OvmfPkg/VirtioNetDxe/VirtioNet/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioNetDxe \
     262        OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioPciDeviceDxe \
     263        OvmfPkg/VirtioRngDxe/VirtioRng/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioRngDxe \
     264        OvmfPkg/VirtioScsiDxe/VirtioScsi/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioScsiDxe \
     265        OvmfPkg/VirtioSerialDxe/VirtioSerial/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtioSerialDxe \
     266        OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VirtNorFlashDxe \
     267        SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto/$(VBOX_EFI_DEBUG_DIR.arm64)/Hash2DxeCrypto \
     268        SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/RngDxe \
     269        SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Tcg2ConfigDxe \
     270        SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/Tcg2Dxe \
     271        SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei/$(VBOX_EFI_DEBUG_DIR.arm64)/Tcg2Pei \
     272        SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/SecureBootConfigDxe \
     273        ShellPkg/Application/Shell/Shell/$(VBOX_EFI_DEBUG_DIR.arm64)/Shell \
     274        ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand/$(VBOX_EFI_DEBUG_DIR.arm64)/httpDynamicCommand \
     275        ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand/$(VBOX_EFI_DEBUG_DIR.arm64)/tftpDynamicCommand \
     276        ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand/$(VBOX_EFI_DEBUG_DIR.arm64)/VariablePolicyDynamicCommand \
     277        UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe/$(VBOX_EFI_DEBUG_DIR.arm64)/CpuMmio2Dxe \
     278        VBoxPkg/Logo/LogoDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/LogoDxe \
     279        VBoxPkg/VBoxAcpiPlatformDxe/VBoxAcpiPlatformDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VBoxAcpiPlatformDxe \
     280        VBoxPkg/VmwSvga3Dxe/VmwSvga3VideoDxe/$(VBOX_EFI_DEBUG_DIR.arm64)/VmwSvga3VideoDxe
    151281
    152282 # Version of VBOX_EFI_MODULES without directories.
    153  VBOX_EFI_MODULES_FLAT_X86 = $(notdir $(VBOX_EFI_MODULES_X86))
    154  VBOX_EFI_MODULES_FLAT_ARM = $(notdir $(VBOX_EFI_MODULES_ARM))
     283 VBOX_EFI_MODULES_FLAT.x86   = $(notdir $(VBOX_EFI_MODULES.x86))
     284 VBOX_EFI_MODULES_FLAT.amd64 = $(notdir $(VBOX_EFI_MODULES.amd64))
     285 VBOX_EFI_MODULES_FLAT.arm32 = $(notdir $(VBOX_EFI_MODULES.arm32))
     286 VBOX_EFI_MODULES_FLAT.arm64 = $(notdir $(VBOX_EFI_MODULES.arm64))
    155287
    156288endif
  • trunk/src/VBox/Devices/EFI/Firmware/Makefile.kmk

    r107020 r107041  
    5454VBOX_EFI_BLDPROGS := $(BLDPROGS)
    5555include $(PATH_SUB_CURRENT)/BaseTools/Makefile.kmk
    56 VBOX_EFI_BLDPROGS := $(filter-out $(VBOX_EFI_BLDPROGS),$(BLDPROGS)) VBoxEfiBldPythonWrappers
     56VBOX_EFI_BLDPROGS := $(filter-out $(VBOX_EFI_BLDPROGS),$(BLDPROGS))
    5757
    5858#
     
    7272        UPT
    7373
    74 INSTALLS += VBoxEfiBldPythonWrappers
    75 VBoxEfiBldPythonWrappers_TEMPLATE = VBoxEfiBldProg
    7674if1of ($(KBUILD_HOST), win os2)
    77  VBoxEfiBldPythonWrappers_EXEC_SOURCES = \
    78         $(foreach PyWrap,$(VBOX_EFI_PYTHON_WRAPPERS),$(VBoxEfiBldPythonWrappers_0_OUTDIR)/$(PyWrap).cmd)
     75 # Build .exe wrappers for the scripts (kmk has trouble finding .cmd/.bat files w/o the extension).
     76 EfiPyWrapBase_TEMPLATE = VBoxEfiBldProg
     77 EfiPyWrapBase_SOURCES  = VBoxWinPythonWrap.c
     78 EfiPyWrapBase_DEFS     = VBOX_BLD_PYTHON="$(subst \,/,$(VBOX_BLD_PYTHON))" VBOX_PATH_EFI_FIRMWARE="$(VBOX_PATH_EFI_FIRMWARE)"
     79 EfiPyWrapBase_LDFLAGS  = -Entry:BareBoneEntrypoint -SubSystem:Console
     80
     81 define VBoxEfiBldPythonWrappersRuleTemplate
     82  VBOX_EFI_BLDPROGS += $$(PATH_STAGE)/$$(TEMPLATE_VBoxEfiBldProg_INST)$(PyWrap)$$(HOSTSUFF_EXE)
     83  BLDPROGS          += EfiPyWrap_$(PyWrap)
     84  EfiPyWrap_$(PyWrap)_EXTENDS    := EfiPyWrapBase
     85  EfiPyWrap_$(PyWrap)_EXTENDS_BY := appending
     86  EfiPyWrap_$(PyWrap)_NAME       := $(PyWrap)
     87  EfiPyWrap_$(PyWrap)_DEFS        = PYTHON_SCRIPT="$$(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Source/Python/$(PyWrap)/$(PyWrap).py"
     88 endef
     89 $(foreach PyWrap,$(VBOX_EFI_PYTHON_WRAPPERS),$(eval $(VBoxEfiBldPythonWrappersRuleTemplate)))
     90
    7991else
     92 # Unix hosts:
     93 VBOX_EFI_BLDPROGS += VBoxEfiBldPythonWrappers
     94 INSTALLS          += VBoxEfiBldPythonWrappers
     95 VBoxEfiBldPythonWrappers_TEMPLATE    := VBoxEfiBldProg
    8096 VBoxEfiBldPythonWrappers_EXEC_SOURCES = \
    8197        $(addprefix $(VBoxEfiBldPythonWrappers_0_OUTDIR)/,$(VBOX_EFI_PYTHON_WRAPPERS))
    82 endif
    83 VBoxEfiBldPythonWrappers_CLEAN = $(VBoxEfiBldPythonWrappers_EXEC_SOURCES)
    84 
    85 if1of ($(KBUILD_HOST), win os2)
    86  define VBoxEfiBldPythonWrappersRuleTemplate
    87   $$$$(VBoxEfiBldPythonWrappers_0_OUTDIR)/$(PyWrap).cmd: | $$$$(dir $$$$@)
    88         $$(APPEND) -tn "$$@" \
    89                 '@SET PYTHONPATH=$$(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Source/Python' \
    90                 '@"$$(VBOX_BLD_PYTHON)" "$$(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Source/Python/$(PyWrap)/$(PyWrap).py" %*'
    91  endef
    92 else
     98 VBoxEfiBldPythonWrappers_CLEAN        = $(VBoxEfiBldPythonWrappers_EXEC_SOURCES)
     99
    93100 define VBoxEfiBldPythonWrappersRuleTemplate
    94101  $$$$(VBoxEfiBldPythonWrappers_0_OUTDIR)/$(PyWrap): | $$$$(dir $$$$@)
     
    99106        $$(CHMOD) a+x "$$@"
    100107 endef
    101 endif
    102 $(foreach PyWrap,$(VBOX_EFI_PYTHON_WRAPPERS),$(eval $(VBoxEfiBldPythonWrappersRuleTemplate)))
     108 $(foreach PyWrap,$(VBOX_EFI_PYTHON_WRAPPERS),$(eval $(VBoxEfiBldPythonWrappersRuleTemplate)))
     109
     110endif
    103111
    104112#
     
    109117VBoxEfiFirmware_MODE = 0644
    110118VBoxEfiFirmware_SOURCES = \
    111         $(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/OVMF.fd=>VBoxEFI32.fd \
    112         $(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/OVMF.fd=>VBoxEFI64.fd
     119        $(VBoxEfiFirmware_0_OUTDIR)/x86/$(call VBOX_EFI_OUTPUT_SUBDIR,x86)/FV/OVMF.fd=>VBoxEFI32.fd \
     120        $(VBoxEfiFirmware_0_OUTDIR)/amd64/$(call VBOX_EFI_OUTPUT_SUBDIR,amd64)/FV/OVMF.fd=>VBoxEFI64.fd
    113121VBoxEfiFirmware_BLDDIRS = \
    114122        $(VBoxEfiFirmware_0_OUTDIR)/x86/ \
     
    126134ifdef VBOX_WITH_VIRT_ARMV8
    127135 VBoxEfiFirmware_SOURCES += \
    128         $(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd=>VBoxEFIAArch32.fd \
    129         $(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd=>VBoxEFIAArch64.fd
     136        $(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(call VBOX_EFI_OUTPUT_SUBDIR,arm32)/FV/QEMU_EFI.fd=>VBoxEFIAArch32.fd \
     137        $(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(call VBOX_EFI_OUTPUT_SUBDIR,arm64)/FV/QEMU_EFI.fd=>VBoxEFIAArch64.fd
    130138 VBoxEfiFirmware_BLDDIRS += \
    131139        $(VBoxEfiFirmware_0_OUTDIR)/aarch32/ \
     
    146154VBoxEfiFirmwareDbg32_INST = $(INST_VBOXDBG_SYMS)x86/
    147155VBoxEfiFirmwareDbg32_MODE = 0644
    148 if1of ($(KBUILD_HOST), win)
     156if1of ($(VBOX_EFI_TOOL_CHAIN.x86), VS2022 VS2019 VS2017 CLANGPDB)
    149157 VBoxEfiFirmwareDbg32_SOURCES = \
    150         $(foreach mod,$(VBOX_EFI_MODULES_X86),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/IA32/$(mod).pdb)
     158        $(foreach mod,$(VBOX_EFI_MODULES.x86),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(call VBOX_EFI_OUTPUT_SUBDIR,x86)/IA32/$(mod).pdb)
    151159else
    152160 VBoxEfiFirmwareDbg32_SOURCES = \
    153         $(foreach mod,$(VBOX_EFI_MODULES_FLAT_X86),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/IA32/$(mod).debug)
     161        $(foreach mod,$(VBOX_EFI_MODULES_FLAT.x86),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(call VBOX_EFI_OUTPUT_SUBDIR,x86)/IA32/$(mod).debug)
    154162endif
    155163
     
    157165VBoxEfiFirmwareDbg64_INST = $(INST_VBOXDBG_SYMS)amd64/
    158166VBoxEfiFirmwareDbg64_MODE = 0644
    159 if1of ($(KBUILD_HOST), win)
     167if1of ($(VBOX_EFI_TOOL_CHAIN.amd64), VS2022 VS2019 VS2017 CLANGPDB)
    160168 VBoxEfiFirmwareDbg64_SOURCES = \
    161         $(foreach mod,$(VBOX_EFI_MODULES_X86),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/X64/$(mod).pdb)
     169        $(foreach mod,$(VBOX_EFI_MODULES.amd64),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(call VBOX_EFI_OUTPUT_SUBDIR,amd64)/X64/$(mod).pdb)
    162170else
    163171 VBoxEfiFirmwareDbg64_SOURCES = \
    164         $(foreach mod,$(VBOX_EFI_MODULES_FLAT_X86),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/X64/$(mod).debug)
     172        $(foreach mod,$(VBOX_EFI_MODULES_FLAT.amd64),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(call VBOX_EFI_OUTPUT_SUBDIR,amd64)/X64/$(mod).debug)
    165173endif
    166174
     
    169177 VBoxEfiFirmwareDbgAarch32_INST = $(INST_VBOXDBG_SYMS)aarch32/
    170178 VBoxEfiFirmwareDbgAarch32_MODE = 0644
    171  if1of ($(KBUILD_HOST), win)
     179 if1of ($(VBOX_EFI_TOOL_CHAIN.arm32), VS2022 VS2019 VS2017 CLANGPDB)
    172180  VBoxEfiFirmwareDbgAarch32_SOURCES = \
    173         $(foreach mod,$(VBOX_EFI_MODULES_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).pdb)
     181        $(foreach mod,$(VBOX_EFI_MODULES.arm32),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(call VBOX_EFI_OUTPUT_SUBDIR,arm32)/ARM/$(mod).pdb)
    174182 else
    175183  VBoxEfiFirmwareDbgAarch32_SOURCES = \
    176         $(foreach mod,$(VBOX_EFI_MODULES_FLAT_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).debug)
     184        $(foreach mod,$(VBOX_EFI_MODULES_FLAT.arm32),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(call VBOX_EFI_OUTPUT_SUBDIR,arm32)/ARM/$(mod).debug)
    177185 endif
    178186
     
    180188 VBoxEfiFirmwareDbgAarch64_INST = $(INST_VBOXDBG_SYMS)aarch64/
    181189 VBoxEfiFirmwareDbgAarch64_MODE = 0644
    182  if1of ($(KBUILD_HOST), win)
     190 if1of ($(VBOX_EFI_TOOL_CHAIN.arm64), VS2022 VS2019 VS2017 CLANGPDB)
    183191  VBoxEfiFirmwareDbgAarch64_SOURCES = \
    184         $(foreach mod,$(VBOX_EFI_MODULES_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).pdb)
     192        $(foreach mod,$(VBOX_EFI_MODULES.arm64),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(call VBOX_EFI_OUTPUT_SUBDIR,arm64)/AARCH64/$(mod).pdb)
    185193 else
    186194  VBoxEfiFirmwareDbgAarch64_SOURCES = \
    187         $(foreach mod,$(VBOX_EFI_MODULES_FLAT_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).debug)
     195        $(foreach mod,$(VBOX_EFI_MODULES_FLAT.arm64),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(call VBOX_EFI_OUTPUT_SUBDIR,arm64)/AARCH64/$(mod).debug)
    188196 endif
    189197endif
     
    254262        -E 'PATH=$(VBOX_PATH_STAGE_EFI_BLDPROGS)$(VBOX_SEP)$(PATH);' \
    255263        -E 'INCLUDE=$(PATH_ROOT)/include$(VBOX_SEP)$(PATH_OUT)$(VBOX_SEP)$(VBOX_PATH_EFI_FIRMWARE)/..$(VBOX_SEP)$(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)$(INCLUDE);' \
     264        -E     "C_INCLUDE_PATH=$(PATH_ROOT)/include$(VBOX_SEP)$(PATH_OUT)$(VBOX_SEP)$(VBOX_PATH_EFI_FIRMWARE)/..$(VBOX_SEP)$(C_INCLUDE_PATH)" \
     265        -E "CPLUS_INCLUDE_PATH=$(PATH_ROOT)/include$(VBOX_SEP)$(PATH_OUT)$(VBOX_SEP)$(VBOX_PATH_EFI_FIRMWARE)/..$(VBOX_SEP)$(CPLUS_INCLUDE_PATH)" \
    256266        -E 'COMSPEC=$(firstword $(windir) $(SystemRoot) C:\windows)\system32\cmd.exe' \
    257267        -E 'MAKEFLAGS='
     
    295305        -D "FD_SIZE_IN_MB=3" \
    296306        $(if $(VBOX_OSE),-D "VBOX_OSE=1") \
    297         $(if-expr "$(KBUILD_VERBOSE)" != "",$(if-expr "$(KBUILD_VERBOSE)" >= 3,-v,),--silent --quiet) \
     307        $(if-expr "$(KBUILD_VERBOSE)" != "",$(if-expr "$(KBUILD_VERBOSE)" vge 13,--debug 0, $(if-expr "$(KBUILD_VERBOSE)" vge 4,--debug $(expr 13 - $(KBUILD_VERBOSE)),$(if-expr "$(KBUILD_VERBOSE)" >= 3,-v,))),--silent --quiet) \
    298308        --no-cache \
    299         --buildtarget $(VBOX_EFI_BUILD_TARGET) \
    300         --tagname $(VBOX_EFI_TOOL_CHAIN)
     309        --buildtarget $(VBOX_EFI_BUILD_TARGET)
    301310
    302311#
     
    317326 ifndef TOOL_$(VBOX_VCC_TOOL_STEM)AMD64
    318327  include $(KBUILD_PATH)/tools/$(VBOX_VCC_TOOL_STEM)AMD64.kmk
     328 endif
     329 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC143"
     330  ifndef defined(TOOL_$(VBOX_VCC_TOOL_STEM)-CLANGXX)
     331   include $(KBUILD_PATH)/tools/$(VBOX_VCC_TOOL_STEM)-CLANGXX.kmk
     332  endif
    319333 endif
    320334 ifndef SDK_WINSDK10
     
    362376               \
    363377                -e 's,@PATH_SDK_WINSDK10_BIN@,$(PATH_SDK_WINSDK10_BIN),' \
    364                \
     378                \
     379                $(if-expr "$(TOOL_$(VBOX_VCC_TOOL_STEM)-CLANGXX)" == "",,-e 's,@VBOX_VCC143-CLANGXX_PREFIX@,$(TOOL_VCC143-CLANGXX_PREFIX),') \
     380                $(if-expr "$(TOOL_$(VBOX_VCC_TOOL_STEM)-CLANGXX)" == "",,-e 's,@VBOX_VCC143-CLANGXX_PREFIX2@,$(TOOL_VCC143-CLANGXX_PREFIX2),') \
     381                \
    365382                --output $@ $<
    366383
     
    372389                $(MAKEFILE) | $$(dir $$@)
    373390        $(RM) -f -- "$@"
     391#if1of ($(KBUILD_HOST), win)
     392#       $(SED)  -e 's,^\(  *\)Trim ,\1$(VBOX_BLD_PYTHON) $(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Source/Python/Trim/Trim.py ,' \
     393#               --output "$@" "$<"
     394#else
    374395        $(CP) -f -- "$<" "$@"
     396#endif
    375397
    376398
     
    390412                "TARGET          = $(VBOX_EFI_BUILD_TARGET)" \
    391413                "TARGET_ARCH     = IA32" \
    392                 "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN)" \
     414                "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN.x86)" \
    393415                "MAX_CONCURRENT_THREAD_NUMBER = $(VBOX_EFI_MAX_THREADS)"
    394416
    395 $(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/OVMF.fd \
     417$(VBoxEfiFirmware_0_OUTDIR)/x86/$(call VBOX_EFI_OUTPUT_SUBDIR,x86)/FV/OVMF.fd \
    396418+ $(VBoxEfiFirmwareDbg32_SOURCES): \
    397419                $(VBoxEfiFirmware_0_OUTDIR)/x86/Conf/target.txt \
     
    403425                $(VBOX_PATH_EFI_FIRMWARE)/OvmfPkg/OvmfPkgIa32.fdf
    404426        + $(VBOX_EFI_BUILD_CMD) \
     427                --tagname $(VBOX_EFI_TOOL_CHAIN.x86) \
    405428                --arch IA32 \
    406429                --platform OvmfPkg/OvmfPkgIa32.dsc
     
    421444                "TARGET          = $(VBOX_EFI_BUILD_TARGET)" \
    422445                "TARGET_ARCH     = X64" \
    423                 "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN)" \
     446                "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN.amd64)" \
    424447                "MAX_CONCURRENT_THREAD_NUMBER = $(VBOX_EFI_MAX_THREADS)"
    425448
    426 $(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/OVMF.fd \
     449$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(call VBOX_EFI_OUTPUT_SUBDIR,amd64)/FV/OVMF.fd \
    427450+ $(VBoxEfiFirmwareDbg64_SOURCES): \
    428451                $(VBoxEfiFirmware_0_OUTDIR)/amd64/Conf/target.txt \
     
    434457                $(VBOX_PATH_EFI_FIRMWARE)/OvmfPkg/OvmfPkgX64.fdf
    435458        + $(VBOX_EFI_BUILD_CMD) \
     459                --tagname $(VBOX_EFI_TOOL_CHAIN.amd64) \
    436460                --arch X64 \
    437461                --platform OvmfPkg/OvmfPkgX64.dsc
     
    447471                "# These variables cannot be overriden by the build.py command line." \
    448472                "TOOL_CHAIN_CONF = $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/tools_def.txt" \
    449                 "BUILD_RULE_CONF = $(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Conf/build_rule.template" \
     473                "BUILD_RULE_CONF = $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/build_rule.txt" \
    450474                "" \
    451475                "# These variables are overridden and this is just for show." \
     
    453477                "TARGET          = $(VBOX_EFI_BUILD_TARGET)" \
    454478                "TARGET_ARCH     = ARM" \
    455                 "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN)" \
     479                "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN.arm32)" \
    456480                "MAX_CONCURRENT_THREAD_NUMBER = $(VBOX_EFI_MAX_THREADS)"
    457481
    458  $(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd \
     482 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(call VBOX_EFI_OUTPUT_SUBDIR,arm32)/FV/QEMU_EFI.fd \
    459483 + $(VBoxEfiFirmwareDbgAarch32_SOURCES): \
    460484                $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/target.txt \
     
    465489                $(VBOX_PATH_EFI_FIRMWARE)/ArmVirtPkg/ArmVirtQemu.fdf
    466490        + $(VBOX_EFI_BUILD_CMD) \
     491                --tagname $(VBOX_EFI_TOOL_CHAIN.arm32) \
    467492                --arch ARM \
    468493                --platform ArmVirtPkg/ArmVirtQemu.dsc
     
    477502                "# These variables cannot be overriden by the build.py command line." \
    478503                "TOOL_CHAIN_CONF = $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/tools_def.txt" \
    479                 "BUILD_RULE_CONF = $(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Conf/build_rule.template" \
     504                "BUILD_RULE_CONF = $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/build_rule.txt" \
    480505                "" \
    481506                "# These variables are overridden and this is just for show." \
     
    483508                "TARGET          = $(VBOX_EFI_BUILD_TARGET)" \
    484509                "TARGET_ARCH     = AARCH64" \
    485                 "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN)" \
     510                "TOOL_CHAIN_TAG  = $(VBOX_EFI_TOOL_CHAIN.arm64)" \
    486511                "MAX_CONCURRENT_THREAD_NUMBER = $(VBOX_EFI_MAX_THREADS)"
    487512
    488  $(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd \
     513 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(call VBOX_EFI_OUTPUT_SUBDIR,arm64)/FV/QEMU_EFI.fd \
    489514 + $(VBoxEfiFirmwareDbgAarch64_SOURCES): \
    490515                $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/target.txt \
     
    495520                $(VBOX_PATH_EFI_FIRMWARE)/ArmVirtPkg/ArmVirtQemu.fdf
    496521        + $(VBOX_EFI_BUILD_CMD) \
     522                --tagname $(VBOX_EFI_TOOL_CHAIN.arm64) \
    497523                --arch AARCH64 \
    498524                --platform ArmVirtPkg/ArmVirtQemu.dsc
     
    507533
    508534ifdef VBOX_WITH_VIRT_ARMV8
    509  build-efi-aarch32: $$(filter %VBoxEFIAArch32.fd,$$(VBoxEfiFirmware_2_STAGE_TARGETS))
    510  build-efi-aarch64: $$(filter %VBoxEFIAArch64.fd,$$(VBoxEfiFirmware_2_STAGE_TARGETS))
    511 endif
    512 
     535 build-efi-arm32: $$(filter %VBoxEFIAArch32.fd,$$(VBoxEfiFirmware_2_STAGE_TARGETS))
     536 build-efi-arm64: $$(filter %VBoxEFIAArch64.fd,$$(VBoxEfiFirmware_2_STAGE_TARGETS))
     537endif
     538
  • trunk/src/VBox/Devices/EFI/Firmware/vbox-tools_def.txt

    r107020 r107041  
    121121#                               Intel(r) ACPI Compiler from
    122122#                               https://acpica.org/downloads
     123#
     124#   CLANGDWARF -Linux, Windows, Mac-  Requires:
     125#                             Clang 9 or above from http://releases.llvm.org/
     126#                        Optional:
     127#                             Required to compile nasm source:
     128#                               nasm compiler from
     129#                               NASM -- http://www.nasm.us/
     130#
    123131####################################################################################
    124132####################################################################################
     
    471479DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char  -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18
    472480DEFINE GCC_AARCH64_CC_XIPFLAGS     = -mstrict-align -mgeneral-regs-only
     481DEFINE GCC_RISCV64_CC_XIPFLAGS     = -mstrict-align -mgeneral-regs-only
    473482DEFINE GCC_DLINK_FLAGS_COMMON      = -nostdlib --pie
    474483DEFINE GCC_DLINK2_FLAGS_COMMON     = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
     
    493502DEFINE GCC_ARM_RC_FLAGS            = -I binary -O elf32-littlearm     -B arm         --rename-section .data=.hii
    494503DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B aarch64     --rename-section .data=.hii
     504DEFINE GCC_AARCH64_RC_BTI_FLAGS    = --add-section .note.gnu.property=$(WORKSPACE)/ArmPkg/Library/GnuNoteBti.bin --set-section-flags .note.gnu.property=alloc,readonly
     505DEFINE GCC_RISCV64_RC_FLAGS        = -I binary -O elf64-littleriscv   -B riscv       --rename-section .data=.hii
     506
     507# GCC Build Flag for included header file list generation
     508DEFINE GCC_DEPS_FLAGS              = -MMD -MF [email protected]
    495509
    496510DEFINE GCC48_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall  -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
     
    518532DEFINE GCC48_ASLCC_FLAGS             = DEF(GCC_ASLCC_FLAGS)
    519533
     534DEFINE GCC49_IA32_CC_FLAGS           = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pie
     535DEFINE GCC49_X64_CC_FLAGS            = DEF(GCC48_X64_CC_FLAGS)
     536DEFINE GCC49_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
     537DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
     538DEFINE GCC49_IA32_X64_DLINK_FLAGS    = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
     539DEFINE GCC49_IA32_DLINK2_FLAGS       = DEF(GCC48_IA32_DLINK2_FLAGS)
     540DEFINE GCC49_X64_DLINK_FLAGS         = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
     541DEFINE GCC49_X64_DLINK2_FLAGS        = DEF(GCC48_X64_DLINK2_FLAGS)
     542DEFINE GCC49_ASM_FLAGS               = DEF(GCC48_ASM_FLAGS)
     543DEFINE GCC49_ARM_ASM_FLAGS           = DEF(GCC48_ARM_ASM_FLAGS)
     544DEFINE GCC49_AARCH64_ASM_FLAGS       = DEF(GCC48_AARCH64_ASM_FLAGS)
     545DEFINE GCC49_ARM_CC_FLAGS            = DEF(GCC48_ARM_CC_FLAGS)
     546DEFINE GCC49_ARM_CC_XIPFLAGS         = DEF(GCC48_ARM_CC_XIPFLAGS)
     547DEFINE GCC49_AARCH64_CC_FLAGS        = $(PLATFORM_FLAGS) DEF(GCC48_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -mcmodel=small
     548DEFINE GCC49_AARCH64_CC_XIPFLAGS     = DEF(GCC48_AARCH64_CC_XIPFLAGS)
     549DEFINE GCC49_ARM_DLINK_FLAGS         = DEF(GCC48_ARM_DLINK_FLAGS)
     550DEFINE GCC49_ARM_DLINK2_FLAGS        = DEF(GCC48_ARM_DLINK2_FLAGS)
     551DEFINE GCC49_AARCH64_DLINK_FLAGS     = DEF(GCC48_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
     552DEFINE GCC49_AARCH64_DLINK2_FLAGS    = DEF(GCC48_AARCH64_DLINK2_FLAGS)
     553DEFINE GCC49_ARM_ASLDLINK_FLAGS      = DEF(GCC48_ARM_ASLDLINK_FLAGS)
     554DEFINE GCC49_AARCH64_ASLDLINK_FLAGS  = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
     555DEFINE GCC49_ASLCC_FLAGS             = DEF(GCC48_ASLCC_FLAGS)
     556
     557DEFINE GCC5_IA32_CC_FLAGS            = DEF(GCC49_IA32_CC_FLAGS)
     558DEFINE GCC5_X64_CC_FLAGS             = DEF(GCC49_X64_CC_FLAGS)
     559DEFINE GCC5_IA32_X64_DLINK_COMMON    = DEF(GCC49_IA32_X64_DLINK_COMMON)
     560DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS  = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS)
     561DEFINE GCC5_IA32_X64_DLINK_FLAGS     = DEF(GCC49_IA32_X64_DLINK_FLAGS)
     562DEFINE GCC5_IA32_DLINK2_FLAGS        = DEF(GCC49_IA32_DLINK2_FLAGS) -Wno-error
     563DEFINE GCC5_X64_DLINK_FLAGS          = DEF(GCC49_X64_DLINK_FLAGS)
     564DEFINE GCC5_X64_DLINK2_FLAGS         = DEF(GCC49_X64_DLINK2_FLAGS) -Wno-error
     565DEFINE GCC5_ASM_FLAGS                = DEF(GCC49_ASM_FLAGS)
     566DEFINE GCC5_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)
     567DEFINE GCC5_AARCH64_ASM_FLAGS        = DEF(GCC49_AARCH64_ASM_FLAGS)
     568DEFINE GCC5_ARM_CC_FLAGS             = DEF(GCC49_ARM_CC_FLAGS)
     569DEFINE GCC5_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
     570DEFINE GCC5_AARCH64_CC_FLAGS         = DEF(GCC49_AARCH64_CC_FLAGS)
     571DEFINE GCC5_AARCH64_CC_XIPFLAGS      = DEF(GCC49_AARCH64_CC_XIPFLAGS)
     572DEFINE GCC5_ARM_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
     573DEFINE GCC5_ARM_DLINK2_FLAGS         = DEF(GCC49_ARM_DLINK2_FLAGS) -Wno-error
     574DEFINE GCC5_AARCH64_DLINK_FLAGS      = DEF(GCC49_AARCH64_DLINK_FLAGS)
     575DEFINE GCC5_AARCH64_DLINK2_FLAGS     = DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error
     576DEFINE GCC5_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS)
     577DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
     578DEFINE GCC5_ASLCC_FLAGS              = DEF(GCC49_ASLCC_FLAGS) -fno-lto
     579
     580DEFINE GCC5_RISCV_ALL_CC_FLAGS                    = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -msmall-data-limit=0
     581DEFINE GCC5_RISCV_ALL_DLINK_COMMON                = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
     582DEFINE GCC5_RISCV_ALL_DLINK_FLAGS                 = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
     583DEFINE GCC5_RISCV_ALL_DLINK2_FLAGS                = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
     584DEFINE GCC5_RISCV_ALL_ASM_FLAGS                   = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
     585DEFINE GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE    = -Wno-tautological-compare -Wno-pointer-compare
     586
     587DEFINE GCC5_RISCV_OPENSBI_TYPES                   = -DOPENSBI_EXTERNAL_SBI_TYPES=OpensbiTypes.h
     588
     589DEFINE GCC5_RISCV64_ARCH                   = rv64gc
     590DEFINE GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
     591DEFINE GCC5_RISCV64_CC_FLAGS               = DEF(GCC5_RISCV_ALL_CC_FLAGS) DEF(GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE) DEF(GCC5_RISCV_OPENSBI_TYPES) -march=DEF(GCC5_RISCV64_ARCH) -fno-builtin -fno-builtin-memcpy -fno-stack-protector -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax
     592DEFINE GCC5_RISCV64_DLINK_FLAGS            = DEF(GCC5_RISCV_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax
     593DEFINE GCC5_RISCV64_DLINK2_FLAGS           = DEF(GCC5_RISCV_ALL_DLINK2_FLAGS)
     594DEFINE GCC5_RISCV64_ASM_FLAGS              = DEF(GCC5_RISCV_ALL_ASM_FLAGS) -march=DEF(GCC5_RISCV64_ARCH) -mcmodel=medany -mabi=lp64
     595
     596
    520597####################################################################################
    521598#
     
    654731  NOOPT_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -O0
    655732
     733####################################################################################
     734#
     735# CLANGDWARF - This configuration is used to compile under Windows/Linux/Mac to produce
     736#  ELF binaries using LLVM/Clang/LLD with Link Time Optimization enabled
     737#
     738####################################################################################
     739*_CLANGDWARF_*_*_FAMILY             = GCC
     740
     741*_CLANGDWARF_*_MAKE_PATH            = @KMK@
     742*_CLANGDWARF_*_*_DLL                = @VBOX_PATH_CLANG_BIN@
     743*_CLANGDWARF_*_ASL_PATH             = DEF(UNIX_IASL_BIN)
     744
     745*_CLANGDWARF_*_APP_FLAGS            =
     746*_CLANGDWARF_*_ASL_FLAGS            = DEF(IASL_FLAGS)
     747*_CLANGDWARF_*_ASL_OUTFLAGS         = DEF(IASL_OUTFLAGS)
     748
     749DEFINE CLANGDWARF_IA32_PREFIX       = @VBOX_VCC143-CLANGXX_PREFIX@
     750DEFINE CLANGDWARF_X64_PREFIX        = @VBOX_VCC143-CLANGXX_PREFIX@
     751
     752# LLVM/CLANG doesn't support -n link option. So, it can't share the same IA32_X64_DLINK_COMMON flag.
     753# LLVM/CLANG doesn't support common page size. So, it can't share the same GccBase.lds script.
     754DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-q,--gc-sections -z max-page-size=0x40
     755DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON     = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/ClangBase.lds
     756DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
     757DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS    = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
     758DEFINE CLANGDWARF_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
     759DEFINE CLANGDWARF_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
     760
     761DEFINE CLANGDWARF_IA32_TARGET             = -target i686-pc-linux-gnu
     762DEFINE CLANGDWARF_X64_TARGET              = -target x86_64-pc-linux-gnu
     763
     764DEFINE CLANGDWARF_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access -Wno-unneeded-internal-declaration -Wno-int-conversion
     765DEFINE CLANGDWARF_ALL_CC_FLAGS         = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float  -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
     766
     767###########################
     768# CLANGDWARF IA32 definitions
     769###########################
     770*_CLANGDWARF_IA32_CC_PATH              = @VBOX_VCC143-CLANGXX_PREFIX@clang
     771*_CLANGDWARF_IA32_SLINK_PATH           = @VBOX_VCC143-CLANGXX_PREFIX2@ar
     772*_CLANGDWARF_IA32_DLINK_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     773*_CLANGDWARF_IA32_ASLDLINK_PATH        = @VBOX_VCC143-CLANGXX_PREFIX@clang
     774*_CLANGDWARF_IA32_ASM_PATH             = @VBOX_VCC143-CLANGXX_PREFIX@clang
     775*_CLANGDWARF_IA32_PP_PATH              = @VBOX_VCC143-CLANGXX_PREFIX@clang
     776*_CLANGDWARF_IA32_VFRPP_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     777*_CLANGDWARF_IA32_ASLCC_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     778*_CLANGDWARF_IA32_ASLPP_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     779*_CLANGDWARF_IA32_RC_PATH              = @VBOX_VCC143-CLANGXX_PREFIX2@objcopy
     780
     781*_CLANGDWARF_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGDWARF_IA32_TARGET)
     782*_CLANGDWARF_IA32_ASLDLINK_FLAGS       = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld -no-pie
     783*_CLANGDWARF_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANGDWARF_IA32_TARGET)
     784*_CLANGDWARF_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
     785*_CLANGDWARF_IA32_OBJCOPY_FLAGS        =
     786*_CLANGDWARF_IA32_NASM_FLAGS           = -f elf32
     787*_CLANGDWARF_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
     788*_CLANGDWARF_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
     789*_CLANGDWARF_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
     790
     791DEBUG_CLANGDWARF_IA32_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
     792DEBUG_CLANGDWARF_IA32_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
     793DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS     = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie
     794
     795RELEASE_CLANGDWARF_IA32_CC_FLAGS       = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -malign-double
     796RELEASE_CLANGDWARF_IA32_DLINK_FLAGS    = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
     797RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS   = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie
     798
     799NOOPT_CLANGDWARF_IA32_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -O0 -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
     800NOOPT_CLANGDWARF_IA32_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
     801NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS     = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld -no-pie
     802
     803##########################
     804# CLANGDWARF X64 definitions
     805##########################
     806*_CLANGDWARF_X64_CC_PATH              = @VBOX_VCC143-CLANGXX_PREFIX@clang
     807*_CLANGDWARF_X64_SLINK_PATH           = @VBOX_VCC143-CLANGXX_PREFIX2@ar
     808*_CLANGDWARF_X64_DLINK_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     809*_CLANGDWARF_X64_ASLDLINK_PATH        = @VBOX_VCC143-CLANGXX_PREFIX@clang
     810*_CLANGDWARF_X64_ASM_PATH             = @VBOX_VCC143-CLANGXX_PREFIX@clang
     811*_CLANGDWARF_X64_PP_PATH              = @VBOX_VCC143-CLANGXX_PREFIX@clang
     812*_CLANGDWARF_X64_VFRPP_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     813*_CLANGDWARF_X64_ASLCC_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     814*_CLANGDWARF_X64_ASLPP_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     815*_CLANGDWARF_X64_RC_PATH              = @VBOX_VCC143-CLANGXX_PREFIX2@objcopy
     816
     817*_CLANGDWARF_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGDWARF_X64_TARGET)
     818*_CLANGDWARF_X64_ASLDLINK_FLAGS       = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=lld
     819*_CLANGDWARF_X64_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANGDWARF_X64_TARGET)
     820*_CLANGDWARF_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
     821*_CLANGDWARF_X64_OBJCOPY_FLAGS        =
     822*_CLANGDWARF_X64_NASM_FLAGS           = -f elf64
     823*_CLANGDWARF_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
     824*_CLANGDWARF_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
     825*_CLANGDWARF_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
     826
     827DEBUG_CLANGDWARF_X64_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -fdirect-access-external-data -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g
     828DEBUG_CLANGDWARF_X64_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
     829DEBUG_CLANGDWARF_X64_DLINK2_FLAGS     = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
     830
     831RELEASE_CLANGDWARF_X64_CC_FLAGS       = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -fdirect-access-external-data -Oz -flto DEF(CLANGDWARF_X64_TARGET)
     832RELEASE_CLANGDWARF_X64_DLINK_FLAGS    = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
     833RELEASE_CLANGDWARF_X64_DLINK2_FLAGS   = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
     834
     835NOOPT_CLANGDWARF_X64_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -fdirect-access-external-data -O0 DEF(CLANGDWARF_X64_TARGET) -g
     836NOOPT_CLANGDWARF_X64_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
     837NOOPT_CLANGDWARF_X64_DLINK2_FLAGS     = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O0 -fuse-ld=lld
     838
     839##################
     840# CLANGDWARF ARM definitions
     841##################
     842DEFINE CLANGDWARF_ARM_TARGET        = -target arm-linux-gnueabi
     843DEFINE CLANGDWARF_ARM_CC_FLAGS      = DEF(GCC_ARM_CC_FLAGS) DEF(CLANGDWARF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt
     844DEFINE CLANGDWARF_ARM_DLINK_FLAGS   = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
     845
     846*_CLANGDWARF_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS)
     847*_CLANGDWARF_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS)
     848*_CLANGDWARF_ARM_APP_FLAGS          =
     849*_CLANGDWARF_ARM_ASL_FLAGS          = DEF(IASL_FLAGS)
     850*_CLANGDWARF_ARM_ASL_OUTFLAGS       = DEF(IASL_OUTFLAGS)
     851*_CLANGDWARF_ARM_DTCPP_FLAGS        = DEF(GCC_DTCPP_FLAGS)
     852
     853*_CLANGDWARF_ARM_CC_PATH            = @VBOX_VCC143-CLANGXX_PREFIX@clang
     854*_CLANGDWARF_ARM_ASM_PATH           = @VBOX_VCC143-CLANGXX_PREFIX@clang
     855*_CLANGDWARF_ARM_PP_PATH            = @VBOX_VCC143-CLANGXX_PREFIX@clang
     856*_CLANGDWARF_ARM_VFRPP_PATH         = @VBOX_VCC143-CLANGXX_PREFIX@clang
     857*_CLANGDWARF_ARM_ASLCC_PATH         = @VBOX_VCC143-CLANGXX_PREFIX@clang
     858*_CLANGDWARF_ARM_ASLPP_PATH         = @VBOX_VCC143-CLANGXX_PREFIX@clang
     859*_CLANGDWARF_ARM_DLINK_PATH         = @VBOX_VCC143-CLANGXX_PREFIX@clang
     860*_CLANGDWARF_ARM_ASLDLINK_PATH      = @VBOX_VCC143-CLANGXX_PREFIX@clang
     861
     862*_CLANGDWARF_ARM_SLINK_PATH         = @VBOX_VCC143-CLANGXX_PREFIX2@ar
     863*_CLANGDWARF_ARM_RC_PATH            = @VBOX_VCC143-CLANGXX_PREFIX2@objcopy
     864
     865*_CLANGDWARF_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS) -fno-lto
     866*_CLANGDWARF_ARM_ASLDLINK_FLAGS     = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
     867*_CLANGDWARF_ARM_ASM_FLAGS          = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
     868*_CLANGDWARF_ARM_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
     869*_CLANGDWARF_ARM_PLATFORM_FLAGS     = -march=armv7-a
     870*_CLANGDWARF_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS)
     871*_CLANGDWARF_ARM_RC_FLAGS           = DEF(GCC_ARM_RC_FLAGS)
     872*_CLANGDWARF_ARM_VFRPP_FLAGS        = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS)
     873*_CLANGDWARF_ARM_ASLPP_FLAGS        = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_ARM_TARGET)
     874*_CLANGDWARF_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)
     875
     876  DEBUG_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
     877  DEBUG_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm -Wl,--no-pie,--no-relax
     878  NOOPT_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
     879  NOOPT_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
     880RELEASE_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
     881RELEASE_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm -Wl,--no-pie,--no-relax
     882
     883##################
     884# CLANGDWARF AARCH64 definitions
     885##################
     886DEFINE CLANGDWARF_AARCH64_TARGET    = -target aarch64-linux-gnu
     887DEFINE CLANGDWARF_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) -mcmodel=small DEF(CLANGDWARF_WARNING_OVERRIDES)
     888DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS  = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
     889
     890*_CLANGDWARF_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS)
     891*_CLANGDWARF_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)
     892*_CLANGDWARF_AARCH64_APP_FLAGS      =
     893*_CLANGDWARF_AARCH64_ASL_FLAGS      = DEF(IASL_FLAGS)
     894*_CLANGDWARF_AARCH64_ASL_OUTFLAGS   = DEF(IASL_OUTFLAGS)
     895*_CLANGDWARF_AARCH64_DTCPP_FLAGS    = DEF(GCC_DTCPP_FLAGS)
     896
     897*_CLANGDWARF_AARCH64_CC_PATH        = @VBOX_VCC143-CLANGXX_PREFIX@clang
     898*_CLANGDWARF_AARCH64_ASM_PATH       = @VBOX_VCC143-CLANGXX_PREFIX@clang
     899*_CLANGDWARF_AARCH64_PP_PATH        = @VBOX_VCC143-CLANGXX_PREFIX@clang
     900*_CLANGDWARF_AARCH64_VFRPP_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     901*_CLANGDWARF_AARCH64_ASLCC_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     902*_CLANGDWARF_AARCH64_ASLPP_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     903*_CLANGDWARF_AARCH64_DLINK_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     904*_CLANGDWARF_AARCH64_ASLDLINK_PATH  = @VBOX_VCC143-CLANGXX_PREFIX@clang
     905
     906*_CLANGDWARF_AARCH64_SLINK_PATH     = @VBOX_VCC143-CLANGXX_PREFIX2@ar
     907*_CLANGDWARF_AARCH64_RC_PATH        = @VBOX_VCC143-CLANGXX_PREFIX2@objcopy
     908
     909*_CLANGDWARF_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS) -fno-lto
     910*_CLANGDWARF_AARCH64_ASLDLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
     911*_CLANGDWARF_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
     912*_CLANGDWARF_AARCH64_DLINK_FLAGS    = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
     913*_CLANGDWARF_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
     914*_CLANGDWARF_AARCH64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
     915*_CLANGDWARF_AARCH64_PLATFORM_FLAGS =
     916*_CLANGDWARF_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS)
     917*_CLANGDWARF_AARCH64_RC_FLAGS       = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS)
     918*_CLANGDWARF_AARCH64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS)
     919*_CLANGDWARF_AARCH64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET)
     920*_CLANGDWARF_AARCH64_CC_XIPFLAGS    = -mstrict-align
     921
     922  DEBUG_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
     923  DEBUG_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
     924  NOOPT_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
     925  NOOPT_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
     926RELEASE_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
     927RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
     928
     929##################
     930# CLANGDWARF RISCV64 definitions
     931##################
     932DEFINE CLANGDWARF_RISCV64_TARGET    = -target riscv64-linux-gnu
     933DEFINE CLANGDWARF_RISCV64_CC_COMMON = DEF(GCC5_RISCV_ALL_CC_FLAGS) DEF(GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE) DEF(GCC5_RISCV_OPENSBI_TYPES) -march=DEF(GCC5_RISCV64_ARCH) -fno-builtin -fno-builtin-memcpy -fno-stack-protector -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax
     934DEFINE CLANGDWARF_RISCV64_CC_FLAGS  = DEF(CLANGDWARF_RISCV64_CC_COMMON) DEF(CLANGDWARF_RISCV64_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES)
     935
     936# This is similar to GCC flags but without -n
     937DEFINE CLANGDWARF_RISCV64_ALL_DLINK_COMMON  = -nostdlib -Wl,-q,--gc-sections -z common-page-size=0x40
     938DEFINE CLANGDWARF_RISCV64_ALL_DLINK_FLAGS   = DEF(CLANGDWARF_RISCV64_ALL_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
     939DEFINE CLANGDWARF_RISCV64_DLINK_FLAGS       = DEF(CLANGDWARF_RISCV64_TARGET) DEF(CLANGDWARF_RISCV64_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax
     940
     941*_CLANGDWARF_RISCV64_PP_FLAGS       = DEF(GCC_PP_FLAGS)
     942*_CLANGDWARF_RISCV64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)
     943*_CLANGDWARF_RISCV64_APP_FLAGS      =
     944*_CLANGDWARF_RISCV64_ASL_FLAGS      = DEF(IASL_FLAGS)
     945*_CLANGDWARF_RISCV64_ASL_OUTFLAGS   = DEF(IASL_OUTFLAGS)
     946*_CLANGDWARF_RISCV64_DTCPP_FLAGS    = DEF(GCC_DTCPP_FLAGS)
     947*_CLANGDWARF_RISCV64_DEPS_FLAGS     = DEF(GCC_DEPS_FLAGS)
     948
     949*_CLANGDWARF_RISCV64_CC_PATH        = @VBOX_VCC143-CLANGXX_PREFIX@clang
     950*_CLANGDWARF_RISCV64_ASM_PATH       = @VBOX_VCC143-CLANGXX_PREFIX@clang
     951*_CLANGDWARF_RISCV64_PP_PATH        = @VBOX_VCC143-CLANGXX_PREFIX@clang
     952*_CLANGDWARF_RISCV64_VFRPP_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     953*_CLANGDWARF_RISCV64_ASLCC_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     954*_CLANGDWARF_RISCV64_ASLPP_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     955*_CLANGDWARF_RISCV64_DLINK_PATH     = @VBOX_VCC143-CLANGXX_PREFIX@clang
     956*_CLANGDWARF_RISCV64_ASLDLINK_PATH  = @VBOX_VCC143-CLANGXX_PREFIX@clang
     957
     958*_CLANGDWARF_RISCV64_SLINK_PATH     = @VBOX_VCC143-CLANGXX_PREFIX2@ar
     959*_CLANGDWARF_RISCV64_RC_PATH        = @VBOX_VCC143-CLANGXX_PREFIX2@objcopy
     960
     961*_CLANGDWARF_RISCV64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS) -fno-lto
     962*_CLANGDWARF_RISCV64_ASLDLINK_FLAGS = DEF(CLANGDWARF_RISCV64_TARGET) DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS)
     963*_CLANGDWARF_RISCV64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments -mabi=lp64 -mno-relax
     964*_CLANGDWARF_RISCV64_DLINK_FLAGS    = DEF(CLANGDWARF_RISCV64_TARGET) DEF(GCC5_RISCV64_DLINK_FLAGS)
     965*_CLANGDWARF_RISCV64_DLINK_XIPFLAGS = -z common-page-size=0x20
     966*_CLANGDWARF_RISCV64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x240
     967*_CLANGDWARF_RISCV64_PLATFORM_FLAGS =
     968*_CLANGDWARF_RISCV64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET) $(PLATFORM_FLAGS)
     969*_CLANGDWARF_RISCV64_RC_FLAGS       = DEF(GCC_RISCV64_RC_FLAGS)
     970*_CLANGDWARF_RISCV64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET) $(PLATFORM_FLAGS)
     971*_CLANGDWARF_RISCV64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET)
     972*_CLANGDWARF_RISCV64_CC_XIPFLAGS    = DEF(GCC_RISCV64_CC_XIPFLAGS)
     973
     974  DEBUG_CLANGDWARF_RISCV64_CC_FLAGS    = DEF(CLANGDWARF_RISCV64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
     975  DEBUG_CLANGDWARF_RISCV64_DLINK_FLAGS = DEF(CLANGDWARF_RISCV64_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -Wl,--no-pie,--no-relax
     976  NOOPT_CLANGDWARF_RISCV64_CC_FLAGS    = DEF(CLANGDWARF_RISCV64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
     977  NOOPT_CLANGDWARF_RISCV64_DLINK_FLAGS = DEF(CLANGDWARF_RISCV64_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
     978RELEASE_CLANGDWARF_RISCV64_CC_FLAGS    = DEF(CLANGDWARF_RISCV64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
     979RELEASE_CLANGDWARF_RISCV64_DLINK_FLAGS = DEF(CLANGDWARF_RISCV64_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -Wl,--no-pie,--no-relax
     980
    656981#################
    657982# ASM 16 linker definitions
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette