Skip to content

Commit 4176dc1

Browse files
Gelbpunktrami3l
authored andcommittedApr 18, 2025·
Add powerpc64le-unknown-linux-musl support
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
1 parent 2cc0829 commit 4176dc1

File tree

7 files changed

+21
-0
lines changed

7 files changed

+21
-0
lines changed
 

‎.github/workflows/ci.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,7 @@ jobs:
905905
- x86_64-unknown-illumos # skip-pr skip-master
906906
- powerpc-unknown-linux-gnu # skip-pr skip-master
907907
- powerpc64le-unknown-linux-gnu # skip-pr skip-master
908+
- powerpc64le-unknown-linux-musl # skip-pr skip-master
908909
- s390x-unknown-linux-gnu # skip-pr skip-master
909910
- arm-linux-androideabi # skip-pr skip-master
910911
- armv7-linux-androideabi # skip-pr skip-master

‎ci/actions-templates/linux-builds-template.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ jobs: # skip-master skip-pr skip-stable
3434
- x86_64-unknown-illumos # skip-pr skip-master
3535
- powerpc-unknown-linux-gnu # skip-pr skip-master
3636
- powerpc64le-unknown-linux-gnu # skip-pr skip-master
37+
- powerpc64le-unknown-linux-musl # skip-pr skip-master
3738
- s390x-unknown-linux-gnu # skip-pr skip-master
3839
- arm-linux-androideabi # skip-pr skip-master
3940
- armv7-linux-androideabi # skip-pr skip-master

‎ci/cloudfront-invalidation.txt

+2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ rustup/dist/powerpc64-unknown-linux-gnu/rustup-init
4949
rustup/dist/powerpc64-unknown-linux-gnu/rustup-init.sha256
5050
rustup/dist/powerpc64le-unknown-linux-gnu/rustup-init
5151
rustup/dist/powerpc64le-unknown-linux-gnu/rustup-init.sha256
52+
rustup/dist/powerpc64le-unknown-linux-musl/rustup-init
53+
rustup/dist/powerpc64le-unknown-linux-musl/rustup-init.sha256
5254
rustup/dist/s390x-unknown-linux-gnu/rustup-init
5355
rustup/dist/s390x-unknown-linux-gnu/rustup-init.sha256
5456
rustup/dist/x86_64-apple-darwin/rustup-init
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM rust-powerpc64le-unknown-linux-musl
2+
3+
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
4+
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
6+
7+
ENV CC_powerpc64le_unknown_linux_musl=powerpc64le-unknown-linux-musl-gcc \
8+
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_MUSL_LINKER=powerpc64le-unknown-linux-musl-gcc \
9+
RUSTFLAGS="-C target-feature=+crt-static -C link-arg=-lgcc"

‎ci/fetch-rust-docker.bash

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ case "$TARGET" in
3535
powerpc-unknown-linux-gnu) image=dist-powerpc-linux ;;
3636
powerpc64-unknown-linux-gnu) image=dist-powerpc64-linux ;;
3737
powerpc64le-unknown-linux-gnu) image=dist-powerpc64le-linux ;;
38+
powerpc64le-unknown-linux-musl) image=dist-powerpc64le-linux ;;
3839
s390x-unknown-linux-gnu) image=dist-s390x-linux ;;
3940
x86_64-unknown-freebsd) image=dist-x86_64-freebsd ;;
4041
x86_64-unknown-illumos) image=dist-x86_64-illumos ;;

‎doc/user-guide/src/installation/other.md

+2
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ You can manually download `rustup-init` for a given target from
155155
- [sha256 file](https://static.rust-lang.org/rustup/dist/powerpc64-unknown-linux-gnu/rustup-init.sha256)
156156
- [powerpc64le-unknown-linux-gnu](https://static.rust-lang.org/rustup/dist/powerpc64le-unknown-linux-gnu/rustup-init)
157157
- [sha256 file](https://static.rust-lang.org/rustup/dist/powerpc64le-unknown-linux-gnu/rustup-init.sha256)
158+
- [powerpc64le-unknown-linux-musl](https://static.rust-lang.org/rustup/dist/powerpc64le-unknown-linux-musl/rustup-init)
159+
- [sha256 file](https://static.rust-lang.org/rustup/dist/powerpc64le-unknown-linux-musl/rustup-init.sha256)
158160
- [s390x-unknown-linux-gnu](https://static.rust-lang.org/rustup/dist/s390x-unknown-linux-gnu/rustup-init)
159161
- [sha256 file](https://static.rust-lang.org/rustup/dist/s390x-unknown-linux-gnu/rustup-init.sha256)
160162
- [x86_64-apple-darwin](https://static.rust-lang.org/rustup/dist/x86_64-apple-darwin/rustup-init)

‎src/dist/mod.rs

+5
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,10 @@ const TRIPLE_AARCH64_UNKNOWN_LINUX: &str = "aarch64-unknown-linux-musl";
267267
const TRIPLE_LOONGARCH64_UNKNOWN_LINUX: &str = "loongarch64-unknown-linux-gnu";
268268
#[cfg(all(not(windows), target_env = "musl"))]
269269
const TRIPLE_LOONGARCH64_UNKNOWN_LINUX: &str = "loongarch64-unknown-linux-musl";
270+
#[cfg(all(not(windows), not(target_env = "musl")))]
271+
const TRIPLE_POWERPC64LE_UNKNOWN_LINUX: &str = "powerpc64le-unknown-linux-gnu";
272+
#[cfg(all(not(windows), target_env = "musl"))]
273+
const TRIPLE_POWERPC64LE_UNKNOWN_LINUX: &str = "powerpc64le-unknown-linux-musl";
270274

271275
// MIPS platforms don't indicate endianness in uname, however binaries only
272276
// run on boxes with the same endianness, as expected.
@@ -518,6 +522,7 @@ impl TargetTriple {
518522
TRIPLE_AARCH64_UNKNOWN_LINUX
519523
}),
520524
(b"Linux", b"loongarch64") => Some(TRIPLE_LOONGARCH64_UNKNOWN_LINUX),
525+
(b"Linux", b"ppc64le") => Some(TRIPLE_POWERPC64LE_UNKNOWN_LINUX),
521526
(b"Darwin", b"x86_64") => Some("x86_64-apple-darwin"),
522527
(b"Darwin", b"i686") => Some("i686-apple-darwin"),
523528
(b"FreeBSD", b"x86_64") => Some("x86_64-unknown-freebsd"),

0 commit comments

Comments
 (0)
Please sign in to comment.