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