On Mon, Jul 06, 2009 at 06:20:55PM +0200, Lassi Tuura wrote:
> >This could also be a dynamic stack realignment (for support of
> >vectorization). I didn't think x86-64 needed that, though.
>
> OK, in the libraries I looked there's basically only use of r{6,7}
> +/- offset as a CFA. There's tons of DW_CFA_def_cfa_offset{,_sf} use
> which I meant the CFA isn't just a simple register value but an
> expression. (There were exceptions for syscalls and longjmp, but I
> think I can live with those :-)
That's just register+offset. You have to handle an offset; it's
pretty much never at offset 0.
You have to count on there being a few exceptions, but if they only
make you run the slower unwinder, it doesn't matter. This will cover
the majority.
--
Daniel Jacobowitz
CodeSourcery
_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel