From: Tom Tromey <tromey@redhat.com>
PR cli/19551 notes that the "Reading symbols" messages can be messy,
for
example:
(gdb) file /bin/gdb
Reading symbols from /bin/gdb...Reading symbols from /bin/gdb...(no
debugging symbols found)...done.
(no debugging symbols found)...done.
In this case the first message is being interrupted by the message for
the minidebug info; then the subsequent output is emitted strangely.
This patch changes gdb to use a progress bar when reading debug info.
It modifies the DWARF reader(s) to update the progress. Any printing
is deferred until the first progress report, so the messages no longer
clash.
While printing the status message it looks like:
Reading symbols from ./gdb
[############## ]
The "#"s show the progress; these are only printed on a terminal.
When it is finished it looks like:
Reading symbols from .gnu_debugdata for /usr/bin/gdb
Reading symbols from /bin/gdb
I made the MI implementation do nothing. MI has a
"status-async-output" production in the grammar:
'STATUS-ASYNC-OUTPUT ==>'
'[ TOKEN ] "+" ASYNC-OUTPUT NL'
... which maybe could be used for this sort of thing. Currently I
think
it's only used for "load" progress (see mi_load_progress); so it wasn't
clear to me whether this would be a good idea.