aboutsummaryrefslogtreecommitdiff
path: root/ld/ldmain.h
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2022-01-12 17:13:38 +0000
committerAndrew Burgess <aburgess@redhat.com>2022-01-18 11:45:52 +0000
commitcced7cacecad104fff03e94814a3fca1d304b16f (patch)
tree667876bd755eafb951b092ee25d4a79bda8793f5 /ld/ldmain.h
parent709a3d07f330cc75031529f8952ceb19d7095df3 (diff)
downloadgdb-cced7cacecad104fff03e94814a3fca1d304b16f.zip
gdb-cced7cacecad104fff03e94814a3fca1d304b16f.tar.gz
gdb-cced7cacecad104fff03e94814a3fca1d304b16f.tar.bz2
gdb: preserve `|` in connection details string
Consider this GDB session: $ gdb -q (gdb) target remote | gdbserver - ~/tmp/hello.x Remote debugging using | gdbserver - ~/tmp/hello.x ... snip ... (gdb) info connections Num What Description * 1 remote gdbserver - ~/tmp/hello.x Remote target using gdb-specific protocol (gdb) python conn = gdb.selected_inferior().connection (gdb) python print(conn.details) gdbserver - ~/tmp/hello.x (gdb) I think there are two things wrong here, first in the "What" column of the 'info connections' output, I think the text should be: remote | gdbserver - ~/tmp/hello.x to correctly show the user how the connection was established. And in a similar fashion, I think that the `details` string of the gdb.TargetConnection object should be: | gdbserver - ~/tmp/hello.x This commit makes this change. Currently the '|' is detected and removed in gdb/serial.c. The string passed to the pipe_ops structure (from gdb/ser-pipe.c), doesn't then, contain the `|`, this is instead implied by the fact that it is a pipes based implementation of the serial_ops interface. After this commit we still detect the `|` in gdb/serial.c, but we now store the full string (including the `|`) in the serial::name member variable. For pipe based serial connections, this name is only used for displaying the two fields I mention above, and in pipe_open (from gdb/ser-pipe.c), and in pipe_open, we now know to skip over the `|`. The benefit I see from this change is that GDB's output now more accurately reflects the commands used to start a target, thus making it easier for a user to understand what is going on.
Diffstat (limited to 'ld/ldmain.h')
0 files changed, 0 insertions, 0 deletions