How to skip function prologues with stabs debug infomation?
Triple Yang
triple.yang@gmail.com
Sat Aug 20 14:49:00 GMT 2011
Thanks a lot. I will check skip_prologue_sal to find out what it does
and returns.
Best regards.
2011/8/20 Jan Kratochvil <jan.kratochvil@redhat.com>:
> On Sat, 20 Aug 2011 15:06:44 +0200, Triple Yang wrote:
>> I will give a C-like pseudocode to describe what I plan to do in
>> function XXX_skip_prologue(), here XXX represents my architecture
>> name.
>>
>> line = get_line_number(func_addr);
>>
>> next_line = find_next_statement_line_number(line); // take
>> advantage of debug info
>>
>> addr = get_addr(nexe_line);
>>
>> Here, if func_addr is the start address of a function, we actually
>> skip the function prologue. (But I am not sure this idea is proper.)
>
> Yes, it is rought what GDB already does for all the arches.
>
> gdbarch_skip_prologue is there for the case you have no debug info (neither
> DWARF nor STABS, no -g). So it is good to implement gdbarch_skip_prologue but
> it should be only based on instructions decoding in such case.
>
>
>> And I guess gdb does the similar thing to step a source code line,
>> which is of course arch-independent. But I don't know where those
>> codes are placed. GDBing a gdb to locate them is time-consuming and
>> tiring. I will be very grateful if you or someone else point it out.
>
> I already stated here the GDB function is skip_prologue_sal.
>
>
> Thanks,
> Jan
>
--
Yang Yong-Yong
More information about the Gdb
mailing list