Re: Inhibit saving callee-saved registers for noreturn+nothrow functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 14, 2019 at 02:01:57PM +0200, Florian Weimer wrote:
> > What will this do to debuggability?  Not much I hope...  There are many
> > comparable cases where we lose variable contents of callers.
> 
> The values saved belong to the caller's frame.

On most ABIs this is on the callee's stack, instead.  The debugger uses
it to reconstruct the register values at the time the callee was entered.

If there is no caller (in the debugged program), things of course work
fine like you say.  But if there is a caller, which can also happen with
functions that do not return, things are not so clear.  Relatedly we
always make sure to make backtracing work even without debug info, for
noreturn calls...  I cannot find the PR(s) for that currently, sorry.
(I think we shouldn't do that either, btw: people should just enable
more debug info if they want full backtraces: they have to for other
reasons already!)

> > Could you open a feature request please?
> 
> I filed: <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92086>

Thanks!


Segher



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux