diff --git a/lldb/lit/helper/toolchain.py b/lldb/lit/helper/toolchain.py index 75812c3e58a8..ff5fd4d87550 100644 --- a/lldb/lit/helper/toolchain.py +++ b/lldb/lit/helper/toolchain.py @@ -45,6 +45,10 @@ def use_lldb_substitutions(config): command=FindTool(dsname), extra_args=dsargs, unresolved='ignore'), + ToolSubst('%platformserver', + command=FindTool('lldb-server'), + extra_args=['platform'], + unresolved='ignore'), 'lldb-test', 'lldb-instr', ToolSubst('%build', diff --git a/lldb/lit/tools/lldb-server/TestGdbserverPort.test b/lldb/lit/tools/lldb-server/TestGdbserverPort.test new file mode 100644 index 000000000000..a9c4f0fb8168 --- /dev/null +++ b/lldb/lit/tools/lldb-server/TestGdbserverPort.test @@ -0,0 +1,2 @@ +# RUN: %platformserver p --server --listen :1234 --min-gdbserver-port 1234 --max-gdbserver-port 1234 2>&1 | FileCheck %s +# CHECK: error: --min-gdbserver-port (1234) is not lower than --max-gdbserver-port (1234) diff --git a/lldb/tools/lldb-server/lldb-platform.cpp b/lldb/tools/lldb-server/lldb-platform.cpp index 688f00e2d76d..4f0abc45d378 100644 --- a/lldb/tools/lldb-server/lldb-platform.cpp +++ b/lldb/tools/lldb-server/lldb-platform.cpp @@ -241,11 +241,11 @@ int main_platform(int argc, char *argv[]) { return -1; // Make a port map for a port range that was specified. - if (min_gdbserver_port < max_gdbserver_port) { + if (min_gdbserver_port && min_gdbserver_port < max_gdbserver_port) { for (uint16_t port = min_gdbserver_port; port < max_gdbserver_port; ++port) gdbserver_portmap[port] = LLDB_INVALID_PROCESS_ID; - } else if (min_gdbserver_port != max_gdbserver_port) { - fprintf(stderr, "error: --min-gdbserver-port (%u) is greater than " + } else if (min_gdbserver_port || max_gdbserver_port) { + fprintf(stderr, "error: --min-gdbserver-port (%u) is not lower than " "--max-gdbserver-port (%u)\n", min_gdbserver_port, max_gdbserver_port); option_error = 3;