Author: jankratochvil Date: Wed Mar 6 13:52:19 2019 New Revision: 355554 URL: http://llvm.org/viewvc/llvm-project?rev=355554&view=rev Log: Sanity check --max-gdbserver-port
In mail [lldb-dev] Remote debugging a docker process https://lists.llvm.org/pipermail/lldb-dev/2019-March/014795.html user was confused by --min-gdbserver-port and --max-gdbserver-port options being ignored. I think there is even a bug that --max-gdbserver-port is upper exclusive limit (and not upper inclusive limit appropriate for max). At least this patch should catch such mistake by an error message. The question is whether --max-gdbserver-port should not be changed to really be max and not max+1 but that would break backward compatibility. Now the mail example does produce: error: --min-gdbserver-port (5001) is not lower than --max-gdbserver-port (5001) Differential Revision: https://reviews.llvm.org/D58962 Added: lldb/trunk/lit/tools/lldb-server/ lldb/trunk/lit/tools/lldb-server/TestGdbserverPort.test Modified: lldb/trunk/lit/helper/toolchain.py lldb/trunk/tools/lldb-server/lldb-platform.cpp Modified: lldb/trunk/lit/helper/toolchain.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/helper/toolchain.py?rev=355554&r1=355553&r2=355554&view=diff ============================================================================== --- lldb/trunk/lit/helper/toolchain.py (original) +++ lldb/trunk/lit/helper/toolchain.py Wed Mar 6 13:52:19 2019 @@ -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', Added: lldb/trunk/lit/tools/lldb-server/TestGdbserverPort.test URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-server/TestGdbserverPort.test?rev=355554&view=auto ============================================================================== --- lldb/trunk/lit/tools/lldb-server/TestGdbserverPort.test (added) +++ lldb/trunk/lit/tools/lldb-server/TestGdbserverPort.test Wed Mar 6 13:52:19 2019 @@ -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) Modified: lldb/trunk/tools/lldb-server/lldb-platform.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-platform.cpp?rev=355554&r1=355553&r2=355554&view=diff ============================================================================== --- lldb/trunk/tools/lldb-server/lldb-platform.cpp (original) +++ lldb/trunk/tools/lldb-server/lldb-platform.cpp Wed Mar 6 13:52:19 2019 @@ -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; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits