dwarf-frame.c question
Mark Kettenis
kettenis@chello.nl
Sun Jun 1 10:00:00 GMT 2003
Richard Henderson <rth@redhat.com> writes:
> [ Pasted from web archives, sorry. ]
>
> Mark Kettenis:
> > Andrew, it seems that we should tweak the frame code
> > to make sure that frame_unwind_by_pc is always passed a PC *within* the
> > function.
>
> Andrew Cagney:
> > True, but how? It would effectively be frame_unwind_address_in_block() but
> > how reliably/where could it be used?
>
> Careful; this silliness of subtracting one is not universal.
>
> ABI's with more thought in them (e.g. IA64) require the compiler
> to put *something* after a noreturn call that ends a function.
> This being a relatively uncommon case, it does not add much code
> size, and it solves some of the ambiguity problems you're seeing.
Note that it is not only noreturn calls that end a function that pose
a problem. As Andrew and Alexandre pointed out, branch instructions
pose a problem too.
Do you think we should require (or politely ask ;-)) the compiler to
put something after a noreturn call on other targets as well?
Mark
More information about the Gdb
mailing list