On Thu, Apr 05, 2018 at 11:50:38AM +0200, Jakub Jelinek wrote:
> On Thu, Apr 05, 2018 at 09:45:54AM +0000, Segher Boessenkool wrote:
> > To find out where on-entry register values live at any point in a
> > program, GDB currently tries to parse to parse the executable code.
> > This does not work very well, for example it gets confused if some
> > accesses to the stack use the frame pointer (r31) and some use the
> > stack pointer (r1).  A symptom is that backtraces can be cut short.
> > 
> > This patch enables -fasynchronous-unwind-tables by default for rs6000,
> > which causes us to emit DWARF unwind tables for all functions, solving
> > these problems.
> > 
> > This not do anything for sub-targets without DWARF.
> > 
> > It increases executable size, but only modestly, and does not change
> > memory use, only the disk image.
> > 
> > Various other targets already do this (x86, s390, tile*).
> 
> aarch64-linux* too (since r258871).

Ah yes, I forgot.  Aarch does it in its struct default_options; is that
preferred?  I did it in rs6000_option_init_struct because originally I
avoided enabling it on some non-DWARF platforms, but the flag is ignored
elsewhere anyway, and various other things set the flags for everything,
too, so now I enable it always.

> > Tested on powerpc64-linux {-m32,-m64}.  David, I'd like to commit this
> > to current trunk; does that seem too dangerous to you?
> 
> If David is ok with it, it is fine for trunk even in stage4.

Thanks.


Segher

Reply via email to