You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of trying to test my fix for binary search thingy I made a small tool that lets me compare addr2line output and what libbacktrace provides. It is at https://github.com/alk/gperftools/tree/wip-compare-with-a2l in case you care enough to look.
It discovers several interesting differences. Some might be worth addressing.
Also notably that libbacktrace is giving me right "outer" function. But "fails" at inlining (which imho would be okay-ish) but then gives me wrong filename:line no information.
I have couple questions:
is it worth addressing those kinds of differences?
if so, do you mind giving me any pointers how/where to look? I have time I can offer to help with these.
The text was updated successfully, but these errors were encountered:
Sure, it's worth investigating these. Thanks. Perhaps the place to start is to look at the DWARF information, such as with readelf --debug or dwarfdump, and figure out where the debug info is coming from. Then look at libbacktrace/dwarf.c to see what is going wrong. Thanks.
So this specific case is another instance of "binary search trouble". Just for function ranges. Well, or subset. In this instance I got range with length 0 which we could simply skip, that caused the trouble. What are your thoughts on my approach for the fix I posted?
As part of trying to test my fix for binary search thingy I made a small tool that lets me compare addr2line output and what libbacktrace provides. It is at https://github.com/alk/gperftools/tree/wip-compare-with-a2l in case you care enough to look.
It discovers several interesting differences. Some might be worth addressing.
For example here is one such difference:
'mpp' line is what libbacktrace gave and a2l is from addr2line (with -f -i -a given). I am not demangling on both ends.
Disasm of the relevant code tells me that addr2line is right. Definitely looks like we're in the middle of taking spinlock in atomic op.
Also notably that libbacktrace is giving me right "outer" function. But "fails" at inlining (which imho would be okay-ish) but then gives me wrong filename:line no information.
I have couple questions:
The text was updated successfully, but these errors were encountered: