Re: [FYI] Inlining support, rough patch

Jan Kratochvil
2009-06-30T16:50:12Z

On Tue, 30 Jun 2009 18:11:14 +0200, Tom Tromey wrote:
> Alexandre Oliva has talked about something similar -- a dwarf extension
> which would let gdb users "step" through a sequence of source statements,
> even when the compiler has optimized them away.

.debug_loc key (+any attributes referencing PC) would need to not to state
only PC but a PC + sourceline pair. In an extreme case during the debugging
session PC does not need to change and no ptrace() needs to be called.

> I'm wondering about things like multiple levels of inlining (you may
> need several do-nothing steps?);

This part is step_into_inline_frame() already in the FSF GDB HEAD by Daniel J.

> multiple levels of inlining where the user wants to "finish" out of each one
> (you may need a do-nothing finish as well?); or inlining that results in
> a tail-call optimization being applied (there's no good spot to return to).

This is a Fedora extension of the patch by step_out_of_inline_frame() there.

Just I find .debug_line from GCC wrong a bit but I hope it gets fixed by the
is_stmt + VTA gcc patches so I have not bugreported the current state.

Thanks,
Jan