llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: David Spickett (DavidSpickett)

<details>
<summary>Changes</summary>

Fixes #<!-- -->199035

lldb-server's platform mode works on Apple platforms but the gdbserver mode 
does not. Users should use debugserver instead, and platform mode knows to 
spawn debugserver instead of lldb-server.

I'm adding an error to state this, because until now it would maybe appear to 
work, or crash in strange ways. None of which can be fixed by a user and are a 
waste of our time dealing with the bug reports.

---
Full diff: https://github.com/llvm/llvm-project/pull/199654.diff


3 Files Affected:

- (added) lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test (+4) 
- (modified) lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test (+3) 
- (modified) lldb/tools/lldb-server/lldb-server.cpp (+6) 


``````````diff
diff --git a/lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test 
b/lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test
new file mode 100644
index 0000000000000..534927148bc56
--- /dev/null
+++ b/lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test
@@ -0,0 +1,4 @@
+REQUIRES: system-darwin
+
+RUN: not %lldb-server gdbserver 2>&1 | FileCheck %s
+CHECK: gdbserver mode is not supported on Apple platforms. Use debugserver 
instead.
diff --git a/lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test 
b/lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test
index c7e0c5cbac6dd..d0bcbcfb2eb37 100644
--- a/lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test
+++ b/lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test
@@ -1,3 +1,6 @@
+# gdbserver mode is not supported on Apple platforms.
+UNSUPPORTED: system-darwin
+
 RUN: not %lldb-server gdbserver --fd 2>&1 | FileCheck --check-prefixes=FD1,ALL 
%s
 FD1: error: --fd: missing argument
 
diff --git a/lldb/tools/lldb-server/lldb-server.cpp 
b/lldb/tools/lldb-server/lldb-server.cpp
index 62255c708eac0..992dfed1e60ec 100644
--- a/lldb/tools/lldb-server/lldb-server.cpp
+++ b/lldb/tools/lldb-server/lldb-server.cpp
@@ -61,9 +61,15 @@ int main(int argc, char *argv[]) {
 
   switch (argv[1][0]) {
   case 'g': {
+#if defined(__APPLE__)
+    fprintf(stderr, "gdbserver mode is not supported on Apple platforms. "
+                    "Use debugserver instead.\n");
+    return EXIT_FAILURE;
+#else
     llgs::Initialize();
     auto terminate = llvm::scope_exit([]() { llgs::Terminate(); });
     return main_gdbserver(argc, argv);
+#endif
   }
   case 'p': {
     llgs::Initialize();

``````````

</details>


https://github.com/llvm/llvm-project/pull/199654
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to