On Sun, Dec 4, 2011 at 10:44 PM, Lassi Tuura <[email protected]> wrote: > I suppose in fast trace under "case UNW_X86_64_FRAME_SIGRETURN" we could > maybe fix things up with something like: > > /* In x86_64 the signal frame is usually __restore_rt, and we didn't > get there by a call, it's just set up to look like that on stack. > Because of d->use_prev_instr we ended up reporting an address one > byte before the function at previous frame. Fix that up now. */ > if (depth) > buffer[depth-1] = (uint64_t) buffer[depth-1]+1; > > Does that seem like a sensible idea to anyone?
I was going to propose the same fix-up, but I haven't yet read the threads you've already referenced. > I'll try to check if this an> ok strategy for platforms other than linux, but > I need to dust my VMs first. The fix-up could of course be made conditional: do it only on Linux (and anywhere else where it is required). Thanks,-- Paul Pluzhnikov _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
