jasonmolenda accepted this revision.
jasonmolenda added a comment.
This revision is now accepted and ready to land.
Hi Ravi, sorry for taking so long to get back to you on this. It looks like a
reasonable change - let's give it a try. Sometimes with the unwinder, it can
be hard to foresee prob
ravitheja added a comment.
Hello, Any updates on this differential ?
http://reviews.llvm.org/D15046
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
jasonmolenda added a comment.
Interesting. The routine is
0xf7fd9d70 <+0>: pushl %ecx
0xf7fd9d71 <+1>: pushl %edx
0xf7fd9d72 <+2>: pushl %ebp
0xf7fd9d73 <+3>: movl %esp, %ebp
0xf7fd9d75 <+5>: sysenter
[...]
0xf7fd9d7e <+14>: int$0x80
--> 0xf7fd9d80 <+16>: popl %ebp
0xf7fd9
ravitheja added a comment.
The reason assembly unwind did not work is because if the ebp register is set
to 0 at that time, so the CFA is not available. In the case of clang the frame
pointer is not set by any function, which is why the formula does not work.
(lldb) image show-unwind -n __kerne
jasonmolenda added a comment.
Just to be clear - the change your proposing may be a good improvement for
falling back to another unwind plan when the initial unwind plan fails. But
I'm curious why the initial unwind plan (assembly) failed here to begin with.
I think lldb should have profiled
jasonmolenda added a subscriber: jasonmolenda.
jasonmolenda added a comment.
Hi Ravitheja, thanks for the logging output. It does look like the assembly
profiling is failing for some reason, and with your patch we fall back to using
the eh_frame instructions and it succeeds. I'll look at the p
Hi Ravitheja, thanks for the logging output. It does look like the assembly
profiling is failing for some reason, and with your patch we fall back to using
the eh_frame instructions and it succeeds. I'll look at the patch closely
tomorrow (I meant to do it tonight but I'm running out of time b
ravitheja added a comment.
Hi Jason,
Ok let me explain the scenario here, the application i.e the test function
tries to abort which eventually ends up in a function present in the vdso, on
the way the call flow goes through some functions in libc. Now the backtrace is
done from inside of th
jasonmolenda added a comment.
Hi Ravitheja, thanks for putting together a patch, I'm probably the best person
to look at this.
I'm not sure I understand the failure mode. When built with clang, this vdso
routine does not preserve the frame pointer register (rbp), right? If lldb
knows the sta
clayborg resigned from this revision.
clayborg removed a reviewer: clayborg.
clayborg added a comment.
Jason Molenda should be sufficient to review this.
http://reviews.llvm.org/D15046
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http:/
10 matches
Mail list logo