[lldb] [clang] [clang] Upstream XROS support in Clang (PR #78392)
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 5aea6ba8f5f06e06887fe5c5c8740895907f6540 868dd57be1d046d2f66823662bca10323aec05a3 -- clang/test/Driver/xros-driver.c clang/test/Frontend/xros-version.c lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.cpp lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.h clang/lib/Basic/Targets/OSTargets.h clang/lib/CodeGen/CGObjC.cpp clang/lib/Driver/Driver.cpp clang/lib/Driver/ToolChains/Arch/AArch64.cpp clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/lib/Driver/ToolChains/Darwin.cpp clang/lib/Driver/ToolChains/Darwin.h clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp lldb/include/lldb/Utility/XcodeSDK.h lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp lldb/source/Utility/XcodeSDK.cpp lldb/tools/debugserver/source/RNBRemote.cpp lldb/unittests/Utility/XcodeSDKTest.cpp `` View the diff from clang-format here. ``diff diff --git a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp index 4128ac1cdf..fff08408cd 100644 --- a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp +++ b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp @@ -167,7 +167,7 @@ DynamicLoader *DynamicLoaderDarwinKernel::CreateInstance(Process *process, case llvm::Triple::TvOS: case llvm::Triple::WatchOS: case llvm::Triple::XROS: -// NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: + // NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: if (triple_ref.getVendor() != llvm::Triple::Apple) { return nullptr; } diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp index 2615925580..d337de9a68 100644 --- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp +++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp @@ -56,7 +56,7 @@ DynamicLoader *DynamicLoaderMacOS::CreateInstance(Process *process, case llvm::Triple::TvOS: case llvm::Triple::WatchOS: case llvm::Triple::XROS: - // NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: +// NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: create = triple_ref.getVendor() == llvm::Triple::Apple; break; default: diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp index 7e589b0d7a..f8412aa72b 100644 --- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp +++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp @@ -76,7 +76,7 @@ DynamicLoader *DynamicLoaderMacOSXDYLD::CreateInstance(Process *process, case llvm::Triple::TvOS: case llvm::Triple::WatchOS: case llvm::Triple::XROS: - // NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: +// NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: create = triple_ref.getVendor() == llvm::Triple::Apple; break; default: diff --git a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp index b652ede9b1..3423fbe223 100644 --- a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp +++ b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp @@ -831,7 +831,7 @@ uint32_t EmulateInstructionARM::GetFramePointerRegisterNumber() const { case llvm::Triple::TvOS: case llvm::Triple::WatchOS: case llvm::Triple::XROS: - // NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: +// NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: is_apple = true; break; default: diff --git a/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp b/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp index a97e51cc7b..ba0f68e47e 100644 ---
[lldb] [clang] [clang] Upstream XROS support in Clang (PR #78392)
https://github.com/JDevlieghere updated https://github.com/llvm/llvm-project/pull/78392 >From 6f6d93b6cc413d54dbdec05f30ede00ffdb4 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Wed, 10 Jan 2024 17:35:47 -0800 Subject: [PATCH 1/2] [lldb] Upstream xros support in lldb Upstream support for debugging xros applications through LLDB. --- lldb/include/lldb/Utility/XcodeSDK.h | 2 + .../Host/macosx/objcxx/HostInfoMacOSX.mm | 3 + .../DynamicLoaderDarwinKernel.cpp | 1 + .../MacOSX-DYLD/DynamicLoaderMacOS.cpp| 1 + .../MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp | 1 + .../Instruction/ARM/EmulateInstructionARM.cpp | 1 + .../ObjectFile/Mach-O/ObjectFileMachO.cpp | 11 +- .../Plugins/Platform/MacOSX/CMakeLists.txt| 1 + .../MacOSX/PlatformAppleSimulator.cpp | 37 + .../Platform/MacOSX/PlatformDarwin.cpp| 17 +- .../Platform/MacOSX/PlatformMacOSX.cpp| 3 + .../Platform/MacOSX/PlatformRemoteAppleXR.cpp | 157 ++ .../Platform/MacOSX/PlatformRemoteAppleXR.h | 38 + ...PlatformiOSSimulatorCoreSimulatorSupport.h | 3 +- .../Process/MacOSX-Kernel/ProcessKDP.cpp | 1 + .../GDBRemoteCommunicationClient.cpp | 3 +- .../MacOSX/SystemRuntimeMacOSX.cpp| 1 + lldb/source/Utility/XcodeSDK.cpp | 23 +++ .../debugserver/source/MacOSX/MachProcess.mm | 12 ++ lldb/tools/debugserver/source/RNBRemote.cpp | 11 +- lldb/unittests/Utility/XcodeSDKTest.cpp | 22 +++ 21 files changed, 340 insertions(+), 9 deletions(-) create mode 100644 lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.cpp create mode 100644 lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.h diff --git a/lldb/include/lldb/Utility/XcodeSDK.h b/lldb/include/lldb/Utility/XcodeSDK.h index f8528995d549c9..673ea578ffce85 100644 --- a/lldb/include/lldb/Utility/XcodeSDK.h +++ b/lldb/include/lldb/Utility/XcodeSDK.h @@ -34,6 +34,8 @@ class XcodeSDK { AppleTVOS, WatchSimulator, watchOS, +XRSimulator, +XROS, bridgeOS, Linux, unknown = -1 diff --git a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm index 110a01732b2473..f96e2cf80c5fac 100644 --- a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -276,6 +276,9 @@ static void ParseOSVersion(llvm::VersionTuple , NSString *Key) { #elif defined(TARGET_OS_WATCHOS) && TARGET_OS_WATCHOS == 1 arch_32.GetTriple().setOS(llvm::Triple::WatchOS); arch_64.GetTriple().setOS(llvm::Triple::WatchOS); +#elif defined(TARGET_OS_XR) && TARGET_OS_XR == 1 +arch_32.GetTriple().setOS(llvm::Triple::XROS); +arch_64.GetTriple().setOS(llvm::Triple::XROS); #elif defined(TARGET_OS_OSX) && TARGET_OS_OSX == 1 arch_32.GetTriple().setOS(llvm::Triple::MacOSX); arch_64.GetTriple().setOS(llvm::Triple::MacOSX); diff --git a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp index 7df917d03ceeda..4128ac1cdf1bba 100644 --- a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp +++ b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp @@ -166,6 +166,7 @@ DynamicLoader *DynamicLoaderDarwinKernel::CreateInstance(Process *process, case llvm::Triple::IOS: case llvm::Triple::TvOS: case llvm::Triple::WatchOS: +case llvm::Triple::XROS: // NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: if (triple_ref.getVendor() != llvm::Triple::Apple) { return nullptr; diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp index 4451d8c7689a28..261592558095b4 100644 --- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp +++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp @@ -55,6 +55,7 @@ DynamicLoader *DynamicLoaderMacOS::CreateInstance(Process *process, case llvm::Triple::IOS: case llvm::Triple::TvOS: case llvm::Triple::WatchOS: + case llvm::Triple::XROS: // NEED_BRIDGEOS_TRIPLE case llvm::Triple::BridgeOS: create = triple_ref.getVendor() == llvm::Triple::Apple; break; diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp index 0bd465aba2d8a2..7e589b0d7af2c7 100644 --- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp +++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp @@ -75,6 +75,7 @@ DynamicLoader *DynamicLoaderMacOSXDYLD::CreateInstance(Process *process, case llvm::Triple::IOS: case llvm::Triple::TvOS: case