forked from OSchip/llvm-project
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 llvm-svn: 355554
This commit is contained in:
parent
0e4c482124
commit
94b1ff72f5
|
@ -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',
|
||||
|
|
|
@ -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)
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue