Skip to content
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

Advertise rust-demangle.c #60

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Advertise rust-demangle.c #60

wants to merge 1 commit into from

Conversation

matklad
Copy link
Member

@matklad matklad commented Aug 22, 2022

No description provided.

@eddyb
Copy link
Member

eddyb commented Aug 22, 2022

rust-lang/rustc-dev-guide#1157 (comment) offers some context (thought I am not aware of any context around this PR specifically, only saw it in my notifications) - replicating it here for convenience:

It might be a bit early (well, it's functional but lacks a bunch of newer features), but just in case I lose track of this issue, I did end up making a repo for my C port of rustc-demangle (v0-only for now, and mostly the 2019 code that I had eventually integrated into libiberty which binutils/gdb/perf use - see the README for more details though, hopefully I'll eventually get it to feature parity with rustc-demangle).

While I had originally assumed everyone could use libiberty or copy the demangler code from it, that was very naive of me because of licensing issues, so rui314/mold#371 (comment) prompted me to release this separately (see the History section in the README for how exactly that was done to avoid copyright complications).

Feel free to PM me on Zulip with more questions or whenever any of this becomes relevant.


Sadly since I posted that I didn't get to work on it again (I really wanted to get it up to feature parity at least with the shared-ancestor implementation in libiberty but stuff keeps piling up this summer...), so I wouldn't recommend it just yet, or I would at least tell people that it's incomplete and to read the README before using it.

Some existing projects can use libiberty code (or already do to some extent, either vendoring or actually depending on libiberty though distro packages), and for now that's a bit more complete.


Almost completely unrelatedly, but since we're talking alternatives, something that's not for C, but could be useful to Rust projects that want a bit more structure, is ast-demangle (see rust-lang/rust#60705 (comment) for where I heard of it most recently).

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.

2 participants