-
Notifications
You must be signed in to change notification settings - Fork 53
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
Fails to demangle RFC2603 v0 mangled symbols with extra bits on the end #27
Comments
Yeah, LLVM's LTO will do things to symbol names. Most likely there is some special case in the |
@eddyb I actually don't think that this is something that Is this perhaps a bug in the symbol mangling where unique names should be generated in each CGU for these symbols? |
@alexcrichton If there is a bug in rustc, it's the same for both I believe that for the legacy mangling, this kind of symbol is handled here: https://github.com/alexcrichton/rustc-demangle/blob/de656cdd0b41e5163e2a73e51d800fea3804b8d9/src/lib.rs#L84-L94 That doesn't work for We could have it so the demangler also returns the "leftover input", and then the top-level |
Just out of curiosity, I've passed some suffixed It doesn't seem to strip any suffix, which does make sense, given that I couldn't find code to handle that. This means that even if we fix it in |
We've already got to handle symbols like ThinLTO generated ones with Overall seems reasonable to just handle them here and expect other libraries to handle them as well. |
I have some symbols of the form:
which don't demangle. If I remove the
.N
on the end, then they do. I'm not sure what the extension is from, but this is an LTO-built executable.(cc @eddyb)
The text was updated successfully, but these errors were encountered: