[RFC] Wrong register numbers in .dwarf_frame on Linux/PowerPC
Wed Nov 28 11:27:00 GMT 2012
On Tue, 2012-11-27 at 19:49 +0100, Ulrich Weigand wrote:
> Mark Wielaard wrote:
> > Which other unwinders are out there, that might rely on the current
> > numbering?
> Well, runtime unwinders using .eh_frame should be fine, since this
> uses (and has always used) consistently the GCC numbering. I don't
> know if there are other unwinders using .dwarf_frame ...
The reason systemtap hits this is that it can do unwinding of both user
and kernel space. The linux kernel doesn't include eh_frames, so we have
to fall back to .debug_frame.
> The change will most likely be to consistently use GCC numbering in
> .dwarf_frame as well, which changes only the encoding of the condition
> code register. Since you're not using that at all in systemtap, you
> shouldn't be affected.
Yeah, we only use the unwinder currently to produce backtraces, which
are unlikely to rely on the condition code register.
> As far as Linux goes, yes, ppc was the only architecture with a
> different encoding between .eh_frame and .dwarf_frame.
In that case your option 3 seems ideal.
More information about the Binutils