https://github.com/DavidSpickett updated https://github.com/llvm/llvm-project/pull/199654
>From 87b7cc7f48089d97da2940600d80d8fb5732819f Mon Sep 17 00:00:00 2001 From: David Spickett <[email protected]> Date: Tue, 26 May 2026 10:43:07 +0000 Subject: [PATCH 1/2] [lldb][lldb-server][Darwin] Error when gdbserver mode is requested 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. --- lldb/tools/lldb-server/lldb-server.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lldb/tools/lldb-server/lldb-server.cpp b/lldb/tools/lldb-server/lldb-server.cpp index 62255c708eac0..747f44f16ce29 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."); + return EXIT_FAILURE; +#else llgs::Initialize(); auto terminate = llvm::scope_exit([]() { llgs::Terminate(); }); return main_gdbserver(argc, argv); +#endif } case 'p': { llgs::Initialize(); >From 0ecc9ba4c4023cdd897efe9e4386517bd3f9380f Mon Sep 17 00:00:00 2001 From: David Spickett <[email protected]> Date: Tue, 26 May 2026 10:55:41 +0000 Subject: [PATCH 2/2] tests --- lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test | 4 ++++ lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test 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 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
