Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upShip llvm binutils with the Rust toolchain #50
Comments
japaric
added
the
help wanted
label
Feb 23, 2018
This comment has been minimized.
This comment has been minimized.
whitequark
commented
Feb 23, 2018
Rustfilt is not an implementation of c++filt, it takes Rust symbols and not C++ symbols; the former are a tiny subset of the latter. But I suppose if you're compiling C++ code then you already have clang, and that probably already comes with llvm-cxxfilt, so we don't need it. |
This was referenced Feb 23, 2018
Open
japaric
added
the
upstream
label
Feb 23, 2018
japaric
self-assigned this
Feb 23, 2018
This comment has been minimized.
This comment has been minimized.
|
Adding to the epoch 2018 milestone as discussed in yesterday's meeting |
japaric
added this to the
Epoch 2018 milestone
Feb 28, 2018
This comment has been minimized.
This comment has been minimized.
|
I have opened rust-lang/rust#49584 to discuss this with the dev-tools and other Rust teams. |
This comment has been minimized.
This comment has been minimized.
|
Woot! The This is now done so closing. |
japaric
closed this
Jun 29, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
japaric commentedFeb 23, 2018
•
edited
As per the discussion in #43, it would be convenient to have LLVM tools like
llvm-objdumpandllvm-sizeshipped with the Rust toolchain. These would remove the need to have to install GCCbinutils which require you to do one binutils install per target architecture. OTOH, LLVM binutils
have multi-arch support and support all (most?) the architectures that rustc supports (since rustc
is LLVM based).
Tasks
We are looking for someone to take on this task:
Submit an RFC to ship llvm binutils with the Rust toolchain. @japaric can help with theedition of the RFC.
The RFC should make the case for having these tools shipped with the Rust toolchain.
llvm-objdump,llvm-nmandllvm-sizeare pretty useful to diagnose problems and to measure / estimate metricslike binary size and performance.
llvm-objcopycan be used to translate ELF files (what rustcusually outputs) into binary files (what program loaders expect).
llvm-covnicely complementsrustc profiling support (
-Zprofile).The team will bring this up during the Rust All Hands event (last week of March) and we'll see if we need an RFC.
@whitequark is
llvm-cxxfiltactually needed? It shouldn't contain architecture specific code,right? Also, there's a Rust implementation of
c++filt.The RFC should note that note as a drawback that does this makes us more reliant on LLVM but we are
already shipping lld (a much bigger LLVM tool) with the Rust toolchain as of rust-lang/rust#48125
(we should submit the RFC after that PR lands).
Part of #43