diff options
author | Andrew Burgess <aburgess@redhat.com> | 2022-01-12 17:13:38 +0000 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2022-01-18 11:45:52 +0000 |
commit | cced7cacecad104fff03e94814a3fca1d304b16f (patch) | |
tree | 667876bd755eafb951b092ee25d4a79bda8793f5 /ld/ldint.texi | |
parent | 709a3d07f330cc75031529f8952ceb19d7095df3 (diff) | |
download | gdb-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/ldint.texi')
0 files changed, 0 insertions, 0 deletions