-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Take DW_TAG_namespace's name into account when reading DW_AT_name #181
Comments
Finding the
|
The linkage name is missing the type parameters. |
Is this issue also proposing that we use |
I guess it could be another method. |
Is this still of interest to you? Rough proof of concept at philipc@c532758 Performance comparison below. There might be room for some optimization.
|
The project I needed this for is no longer being worked on, so I don't need this anymore myself. Maybe others still have a use case for it?
|
I haven't gotten any reports asking for adding the argument types. I've asked a few people who use samply to profile Rust code and the sentiment was along the lines of: "Having the arguments would be nice, I suppose, but I haven't noticed their absence" |
This is observable when using Note also that using the linkage name is incorrect when the linkage name differs from the DW_AT_name. For example,
|
I think it's present for some things, but not everything. My opinion is this is an LLVM oversight. gcc includes it. A workaround is to use the symbol table first, which this crate did for its CLI in #332, but other users need to do that themselves. I wasn't aware of things like |
hmm, ok. how do you feel about moving this into the addr2line library instead of having every downstream reimplement the symbol table lookup? |
i did have to make the stack trace include at least one inlined function before it replicated the missing |
That matches my memory of what LLVM is doing. The primary users of this crate use We do provide symbol table support in |
It seems to me addr2line does not support ergonomically doing anything else but using Context, so was that mere observation or truly a statement of desire? |
My statement was explaining why this would not have the desired outcome of helping every downstream user:
|
here is another case where users would be interested and the line number is not correct: default implementations of a trait.
here the linkage name points to |
It's not clear to me what's going on from the information you have given, and I'm not convinced it is anything specific to default implementations. You said that abstractly this is Secondly, the default implementation of |
For example
alloc::boxed::Box::new
will have aDW_AT_name
ofnew
, but it is nested in severalDW_TAG_namespace
which are namedalloc
,boxed
andBox
respectively.The text was updated successfully, but these errors were encountered: