This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug runtime/14026] print_ubacktrace doesn't resolve the symbol name
- From: "adrian.m.negreanu at intel dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Wed, 02 May 2012 14:44:02 +0000
- Subject: [Bug runtime/14026] print_ubacktrace doesn't resolve the symbol name
- Auto-submitted: auto-generated
- References: <bug-14026-6586@http.sourceware.org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=14026
--- Comment #10 from Negreanu Adrian <adrian.m.negreanu at intel dot com> 2012-05-02 14:44:02 UTC ---
(In reply to comment #7)
> (In reply to comment #6)
> > The patch below made it work for me:
> >
> >
> > diff --git a/runtime/unwind.c b/runtime/unwind.c
> > index e440177..3ac7f8d 100644
> > --- a/runtime/unwind.c
> > +++ b/runtime/unwind.c
> > @@ -610,7 +610,7 @@ static int processCFI(const u8 *start, const u8 *end,
> > unsigned long targetLoc,
> > break;
> > }
> > dbug_unwind(1, "targetLoc=%lx state->loc=%lx\n", targetLoc,
> > state->loc);
> > - if (ptr.p8 > end)
> > + if (ptr.p8 >= end)
> > result = 0;
> > if (result && targetLoc != 0 && targetLoc < state->loc)
> > return 1;
>
> I am not sure that is correct. In principle ptr being equal to end should be
> fine (see also the last return condition in ProcessCFI). It means we read
> everything, the last instruction and arguments (and nothing more).
>
> If you hit this case then processCFI () will fail, which will make unwind_frame
> () also fail. So I am somewhat surprised this seems to work for you. Do you
> have debug output for before/after this patch?
You're right.
I used the wrong binary. Sorry for that !
The change that was included was:
if (result && targetLoc != 0 && targetLoc < state->loc)
- return 1;
+ //return 1;
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.