Author: David Spickett Date: 2026-06-01T09:42:54+01:00 New Revision: 683c367c21d8595a45a97e0439540d3efcd29b25
URL: https://github.com/llvm/llvm-project/commit/683c367c21d8595a45a97e0439540d3efcd29b25 DIFF: https://github.com/llvm/llvm-project/commit/683c367c21d8595a45a97e0439540d3efcd29b25.diff LOG: [lldb][lldb-server][Darwin] Error when gdbserver mode is requested (#199654) 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. Added: lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test Modified: lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test lldb/tools/lldb-server/lldb-server.cpp Removed: ################################################################################ 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(); _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
