This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC] Add new command to spit out the linetable for a given file


The GVD developpers have brought to my attention an issue regarding
mostly performance: GVD has a feature were it is capable of telling
whether a given line of a source file contains any code. In order to
do this, they use the "info line" command on every single line of the
file.

Obviously, this causes a lot of communication between GDB and GVD, so
they managed to improve a bit the performance by doing this operation as
a background task for the lines that are not currently displayed in the
editor (that is, without blocking the user from doing anything else).

In an effort to continue improving the performance even more, they asked
me if it was possible to add a new command that would print all in one
go the list of lines containing some code. 

In parallel, I know that GVD also provides an assembly view of the
current line of code. In order to get the addresses of the instructions
corresponding to the current line of code, the also use "info line".

So the idea that I came up with was to add a new function that would
essentially dump the linetable for the symtab of the file in question.
Roughly, from the user's perspective, it would be a new info command
(names can be improved):

        (gdb) info sloc <filename>
        0x1234    1
        0x1238    2
        0x1239    1
        0x123d    3
        ...

This shouldn't be too hard to implement, and should help GVD a lot.
What do you think? Any other idea, or is there any command I don't know
about that would give us this information?

-- 
Joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]