This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: How to skip function prologues with stabs debug infomation?
2011/8/20 Jan Kratochvil <jan.kratochvil@redhat.com>:
> On Sat, 20 Aug 2011 05:45:01 +0200, Triple Yang wrote:
>> I agree with that. Since we can get line number from binary file's
>> section offset, and vice versa, we can skip prologue using line
>> number. The practical problem is that, I don't know how to implement
>> it, i.e. what functions should be called. Any suggestions?
>
> It is already implemented, if you just want to write a new GDB arch backend.
> This code in GDB is arch-independent.
>
> It would be better to give a reproducer or I do not understand the problem.
>
>
> Regards,
> Jan
>
Sorry.
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.)
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.
Best regards.
--
Yang Yong-Yong