This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Python Symbol API question/weirdness
- From: Matt Rice <ratmice at gmail dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: Evan Driscoll <evaned at gmail dot com>, GDB <gdb at sourceware dot org>
- Date: Tue, 27 Jun 2017 04:17:22 -0700
- Subject: Re: Python Symbol API question/weirdness
- Authentication-results: sourceware.org; auth=none
- References: <CAAR9PsWzg0Xpx4iVhpEMyYTqEMtosXVDPe9sYSYbw9UG=5OFJQ@mail.gmail.com> <570ff52f-214b-98a4-dcc0-74d134c67c3d@redhat.com>
On Tue, Jun 27, 2017 at 3:56 AM, Pedro Alves <palves@redhat.com> wrote:
> On 06/16/2017 09:55 PM, Evan Driscoll wrote:
>
>> Does anyone have any idea what might be going on? I think I don't
>> actually need this to work, but I am curious what is going on. Maybe
>> something with symbol aliases?
>
> I think that you're seeing this because the Python API is only aware
> of debug info symbols, while "raise" etc. above in your examples
> are minimal symbols (i.e., elf symbols), as hinted by:
>
> $2 = (<text variable, no debug info> *) 0x7ffff7a433f0 <__GI_raise>
> ^^^^^^^^^^^^^
>
> Sounds like exposing minsyms to the Python layer would be useful.
> I'm actually surprised it doesn't already expose them somehow.
I think you can get some information about minsyms from decode_line
(gdb) py print(gdb.parse_and_eval("main"))
{<text variable, no debug info>} 0x4004f0 <main>
(gdb) py print('%02x' % gdb.decode_line("main")[1][0].pc)
4004f0