[lldb] [clang] [clang] Upstream XROS support in Clang (PR #78392)

2024-01-17 Thread via cfe-commits

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)

2024-01-17 Thread Jonas Devlieghere via cfe-commits

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