On Wed, Jul 27, 2011 at 03:00:45PM +0930, Alan Modra wrote: > Ideally what I'd like to > do is have ld and gcc emit accurate r2 tracking unwind info and > dispense with hacks like frob_update_context. If ld did emit accurate > unwind info for .glink, then the justification for frob_update_context > disappears.
For the record, this statement of mine doesn't make sense. A .glink stub doesn't make a frame, so a backtrace won't normally pass through a stub, thus having accurate unwind info for .glink doesn't help at all. ld would need to insert unwind info for r2 on the call, but that involves editing .eh_frame and in any case isn't accurate since the r2 save doesn't happen until one or two instructions after the call, in the stub. I think we are stuck with frob_update_context. -- Alan Modra Australia Development Lab, IBM