On Mon, May 14, 2012 at 11:21:23PM -0700, Arun Sharma wrote: > On Mon, May 14, 2012 at 11:17 PM, Arun Sharma <[email protected]> wrote: > > On Mon, Apr 23, 2012 at 3:29 AM, Konstantin Belousov <[email protected]> > > wrote: > >> In the commit d04dc94cc2b0141f06ed9de1665ab89a3f549e0b, the check for > >> dwarf.ip == 0 was removed from non-dwarf walker in x86_64 version of > >> unw_step(). Apparently this broke the detection of the end of frame > >> chain when NULL %rbp is specified, because the case just marked > >> dwarf.ip as 0. Explicitely set ret to 0 to indicate the end of > >> iteration. > > > > I can't find commit d04dc94cc2b0141f06ed9de1665ab89a3f549e0b > > My bad. Found it now :) > > >> > >> Similarly, if dwarf_get() reading of %rip succeeds for non-dward walker, > >> reset the ret to 1. The success value of 0 stops the iteration. > > > > This second part breaks test-ptrace on Linux. What if dwarf_get() returns 0? > > > > I applied only the first part of this patch. It seems that 1a6ea3da607d35c03733b9db26b64b71cdbfcfa7 was applied as a whole.
I do not understand your note about dwarf_get() returning 0. Isn't dwarf_get() API is defined to return 0 on success and (non-zero) UNW_ error on failure ?
pgpeSRBJWCdYl.pgp
Description: PGP signature
_______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
