Skip to content

Replace libcxxabi demangler with demumble's LLVM and Swift demanglers#429

Merged
EricRahm merged 1 commit intogoogle:mainfrom
rjmansfield:demumble-integration
Oct 30, 2025
Merged

Replace libcxxabi demangler with demumble's LLVM and Swift demanglers#429
EricRahm merged 1 commit intogoogle:mainfrom
rjmansfield:demumble-integration

Conversation

@rjmansfield
Copy link
Contributor

This replaces the old libcxxabi-based C++ demangler with demanglers
from the demumble project, which includes LLVM's demangler for C++
Itanium, Rust and Microsoft symbols, as well as the Swift demangler.

This improves Bloaty's C++ demangling support, as well as adds support
for demangling Swift, Rust and Microsoft/MSVC symbols.

Fixes #110
Fixes #394

This replaces the old libcxxabi-based C++ demangler with demanglers
 from the demumble project, which includes LLVM's demangler for C++
Itanium, Rust and Microsoft symbols, as well as the Swift demangler.

This improves Bloaty's C++ demangling support, as well as
adds support for demangling Swift, Rust and Microsoft/MSVC symbols.

Fixes google#110
Fixes google#394
@rjmansfield
Copy link
Contributor Author

I have a PR open ( nico/demumble#40) to update the demanglers in demumble as they're about a year out of date, and don't have the latest llvm and swift changes. However, even if Bloaty adopts demumble at 10e00fb, it will resolve the issues and be an overall improvement in demangling. Then in the future, if demumble is updated, it should be relatively straight forward to update the submodule.

Copy link
Collaborator

@EricRahm EricRahm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a few questions. Thanks again for the thorough tests!

@EricRahm
Copy link
Collaborator

I have a PR open ( nico/demumble#40) to update the demanglers in demumble as they're about a year out of date, and don't have the latest llvm and swift changes. However, even if Bloaty adopts demumble at 10e00fb, it will resolve the issues and be an overall improvement in demangling. Then in the future, if demumble is updated, it should be relatively straight forward to update the submodule.

Landing as is and the updating the submodule makes sense to me, I'll add a note to that PR that this would be useful for Bloaty and the Fuchsia project.

Copy link
Collaborator

@EricRahm EricRahm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the improvements!

@EricRahm EricRahm merged commit 5efdbca into google:main Oct 30, 2025
9 checks passed
@EricRahm EricRahm mentioned this pull request Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

demangling failures Rust symbol demangling

2 participants