-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Promote powerpc64le-unknown-linux-musl to tier 2 with host tools #133801
base: master
Are you sure you want to change the base?
Promote powerpc64le-unknown-linux-musl to tier 2 with host tools #133801
Conversation
This comment has been minimized.
This comment has been minimized.
MCP: rust-lang/compiler-team#803 Signed-off-by: Jens Reidel <[email protected]>
b593b82
to
a395c38
Compare
These commits modify compiler targets. This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp. Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb |
r? compiler |
Signed-off-by: Jens Reidel <[email protected]>
The compiler changes looks go to me, r=me on them. r? bootstrap |
…musl-tier-2, r=<try> Promote powerpc64le-unknown-linux-musl to tier 2 with host tools MCP: rust-lang/compiler-team#803 I'm using crosstool-ng for building a toolchain because GCC 9 from `musl-toolchain.sh` has float ABI issues (?) and can't compile LLVM, and writing a crosstool-ng config for a target feels less hacky than yet another target specific shell script. I also defined a kernel version, since there wasn't one specified before. If a lower version is desired, just let me know. I also tried to match the rust configure args with the loongarch64 musl tier 2 target. The resulting compiler works fine, built with `DEPLOY=1 ./src/ci/docker/run.sh dist-powerpc64le-linux` and tested on Alpine Linux in a VM and on a bare metal POWER8 machine: ``` qemu-ppc64le:/tmp/rust-nightly-powerpc64le-unknown-linux-musl$ ash install.sh install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh install: installing component 'rustc' install: installing component 'rust-std-powerpc64le-unknown-linux-musl' install: installing component 'cargo' install: installing component 'rustfmt-preview' install: installing component 'rls-preview' install: installing component 'rust-analyzer-preview' install: installing component 'llvm-tools-preview' install: installing component 'clippy-preview' install: installing component 'miri-preview' install: installing component 'rust-analysis-powerpc64le-unknown-linux-musl' install: installing component 'llvm-bitcode-linker-preview' install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error rust installed. qemu-ppc64le:~$ echo 'fn main() { println!("hello world"); }' > test.rs qemu-ppc64le:~$ rustc test.rs qemu-ppc64le:~$ ./test hello world qemu-ppc64le:~$ file test test: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, OpenPOWER ELF V2 ABI, version 1 (SYSV), statically linked, BuildID[sha1]=596ee6abf9add487ebc54fb71c2076fb6faea013, with debug_info, not stripped ``` try-job: dist-powerpc64le-linux
⌛ Trying commit 2b637c6 with merge 31943aba40270b7a5e376d970fef6b8f99c931c7... |
src/doc/rustc/src/platform-support/powerpc64le-unknown-linux-musl.md
Outdated
Show resolved
Hide resolved
…usl.md Co-authored-by: famfo <[email protected]>
r? jieyouxu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. The bootstrap bits look fine to me (r=me for bootstrap bits and a second on the compiler changes), I'll hand this off to T-infra to look at the CI changes.
r? infra |
This comment was marked as off-topic.
This comment was marked as off-topic.
The build looks like it got stuck at some point |
Build failure is unrelated. |
MCP: rust-lang/compiler-team#803
I'm using crosstool-ng for building a toolchain because GCC 9 from
musl-toolchain.sh
has float ABI issues (?) and can't compile LLVM, and writing a crosstool-ng config for a target feels less hacky than yet another target specific shell script. I also defined a kernel version, since there wasn't one specified before. If a lower version is desired, just let me know. I also tried to match the rust configure args with the loongarch64 musl tier 2 target.The resulting compiler works fine, built with
DEPLOY=1 ./src/ci/docker/run.sh dist-powerpc64le-linux
and tested on Alpine Linux in a VM and on a bare metal POWER8 machine:try-job: dist-powerpc64le-linux