diff options
Diffstat (limited to 'gdb/gdbserver/server.c')
-rw-r--r-- | gdb/gdbserver/server.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index 4bc7f71..51f6a28 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -3511,7 +3511,8 @@ captured_main (int argc, char *argv[]) { int bad_attach; int pid; - char *arg_end, *port; + char *arg_end; + const char *port = NULL; char **next_arg = &argv[1]; volatile int multi_mode = 0; volatile int attach = 0; @@ -3608,7 +3609,8 @@ captured_main (int argc, char *argv[]) { /* "-" specifies a stdio connection and is a form of port specification. */ - *next_arg = STDIO_CONNECTION_NAME; + port = STDIO_CONNECTION_NAME; + next_arg++; break; } else if (strcmp (*next_arg, "--disable-randomization") == 0) @@ -3627,8 +3629,11 @@ captured_main (int argc, char *argv[]) continue; } - port = *next_arg; - next_arg++; + if (port == NULL) + { + port = *next_arg; + next_arg++; + } if (port == NULL || (!attach && !multi_mode && *next_arg == NULL)) { gdbserver_usage (stderr); |