Skip to content

Commit 78ddd93

Browse files
heiherrami3l
authored andcommitted
Add loongarch64-unknown-linux-musl support
1 parent 41e26d9 commit 78ddd93

File tree

7 files changed

+54
-39
lines changed

7 files changed

+54
-39
lines changed

.github/workflows/ci.yaml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -608,9 +608,9 @@ jobs:
608608
- x86_64-unknown-linux-gnu
609609
- armv7-unknown-linux-gnueabihf
610610
- aarch64-linux-android
611-
- aarch64-unknown-linux-gnu # skip-pr
612-
- powerpc64-unknown-linux-gnu # skip-pr
613-
- x86_64-unknown-linux-musl # skip-pr
611+
- aarch64-unknown-linux-gnu # skip-pr
612+
- powerpc64-unknown-linux-gnu # skip-pr
613+
- x86_64-unknown-linux-musl # skip-pr
614614
include:
615615
- target: x86_64-unknown-linux-gnu
616616
run_tests: YES
@@ -757,24 +757,24 @@ jobs:
757757
- x86_64-unknown-linux-gnu
758758
- armv7-unknown-linux-gnueabihf
759759
- aarch64-linux-android
760-
- aarch64-unknown-linux-gnu # skip-pr
761-
- aarch64-unknown-linux-musl # skip-pr skip-master
762-
- powerpc64-unknown-linux-gnu # skip-pr
763-
- x86_64-unknown-linux-musl # skip-pr
764-
- i686-unknown-linux-gnu # skip-pr skip-master
765-
- arm-unknown-linux-gnueabi # skip-pr skip-master
766-
- arm-unknown-linux-gnueabihf # skip-pr skip-master
767-
- x86_64-unknown-freebsd # skip-pr skip-master
768-
- x86_64-unknown-netbsd # skip-pr skip-master
769-
- x86_64-unknown-illumos # skip-pr skip-master
770-
- powerpc-unknown-linux-gnu # skip-pr skip-master
771-
- powerpc64le-unknown-linux-gnu # skip-pr skip-master
772-
- s390x-unknown-linux-gnu # skip-pr skip-master
773-
- arm-linux-androideabi # skip-pr skip-master
774-
- armv7-linux-androideabi # skip-pr skip-master
775-
- x86_64-linux-android # skip-pr skip-master
776-
- riscv64gc-unknown-linux-gnu # skip-pr skip-master
777-
- loongarch64-unknown-linux-gnu # skip-pr skip-master
760+
- aarch64-unknown-linux-gnu # skip-pr
761+
- aarch64-unknown-linux-musl # skip-pr skip-master
762+
- powerpc64-unknown-linux-gnu # skip-pr
763+
- x86_64-unknown-linux-musl # skip-pr
764+
- i686-unknown-linux-gnu # skip-pr skip-master
765+
- arm-unknown-linux-gnueabi # skip-pr skip-master
766+
- arm-unknown-linux-gnueabihf # skip-pr skip-master
767+
- x86_64-unknown-freebsd # skip-pr skip-master
768+
- x86_64-unknown-netbsd # skip-pr skip-master
769+
- x86_64-unknown-illumos # skip-pr skip-master
770+
- powerpc-unknown-linux-gnu # skip-pr skip-master
771+
- powerpc64le-unknown-linux-gnu # skip-pr skip-master
772+
- s390x-unknown-linux-gnu # skip-pr skip-master
773+
- arm-linux-androideabi # skip-pr skip-master
774+
- armv7-linux-androideabi # skip-pr skip-master
775+
- x86_64-linux-android # skip-pr skip-master
776+
- riscv64gc-unknown-linux-gnu # skip-pr skip-master
777+
- loongarch64-unknown-linux-gnu # skip-pr skip-master
778778
include:
779779
- target: x86_64-unknown-linux-gnu
780780
run_tests: YES

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

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,25 @@ jobs: # skip-master skip-pr skip-stable
1919
- x86_64-unknown-linux-gnu
2020
- armv7-unknown-linux-gnueabihf
2121
- aarch64-linux-android
22-
- aarch64-unknown-linux-gnu # skip-pr
23-
- aarch64-unknown-linux-musl # skip-pr skip-master
24-
- powerpc64-unknown-linux-gnu # skip-pr
25-
- x86_64-unknown-linux-musl # skip-pr
26-
- i686-unknown-linux-gnu # skip-pr skip-master
27-
- arm-unknown-linux-gnueabi # skip-pr skip-master
28-
- arm-unknown-linux-gnueabihf # skip-pr skip-master
29-
- x86_64-unknown-freebsd # skip-pr skip-master
30-
- x86_64-unknown-netbsd # skip-pr skip-master
31-
- x86_64-unknown-illumos # skip-pr skip-master
32-
- powerpc-unknown-linux-gnu # skip-pr skip-master
33-
- powerpc64le-unknown-linux-gnu # skip-pr skip-master
34-
- s390x-unknown-linux-gnu # skip-pr skip-master
35-
- arm-linux-androideabi # skip-pr skip-master
36-
- armv7-linux-androideabi # skip-pr skip-master
37-
- x86_64-linux-android # skip-pr skip-master
38-
- riscv64gc-unknown-linux-gnu # skip-pr skip-master
39-
- loongarch64-unknown-linux-gnu # skip-pr skip-master
22+
- aarch64-unknown-linux-gnu # skip-pr
23+
- aarch64-unknown-linux-musl # skip-pr skip-master
24+
- powerpc64-unknown-linux-gnu # skip-pr
25+
- x86_64-unknown-linux-musl # skip-pr
26+
- i686-unknown-linux-gnu # skip-pr skip-master
27+
- arm-unknown-linux-gnueabi # skip-pr skip-master
28+
- arm-unknown-linux-gnueabihf # skip-pr skip-master
29+
- x86_64-unknown-freebsd # skip-pr skip-master
30+
- x86_64-unknown-netbsd # skip-pr skip-master
31+
- x86_64-unknown-illumos # skip-pr skip-master
32+
- powerpc-unknown-linux-gnu # skip-pr skip-master
33+
- powerpc64le-unknown-linux-gnu # skip-pr skip-master
34+
- s390x-unknown-linux-gnu # skip-pr skip-master
35+
- arm-linux-androideabi # skip-pr skip-master
36+
- armv7-linux-androideabi # skip-pr skip-master
37+
- x86_64-linux-android # skip-pr skip-master
38+
- riscv64gc-unknown-linux-gnu # skip-pr skip-master
39+
- loongarch64-unknown-linux-gnu # skip-pr skip-master
40+
- loongarch64-unknown-linux-musl # skip-pr skip-master skip-stable
4041
include:
4142
- target: x86_64-unknown-linux-gnu
4243
run_tests: YES

ci/cloudfront-invalidation.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ rustup/dist/i686-unknown-linux-gnu/rustup-init
3333
rustup/dist/i686-unknown-linux-gnu/rustup-init.sha256
3434
rustup/dist/loongarch64-unknown-linux-gnu/rustup-init
3535
rustup/dist/loongarch64-unknown-linux-gnu/rustup-init.sha256
36+
rustup/dist/loongarch64-unknown-linux-musl/rustup-init
37+
rustup/dist/loongarch64-unknown-linux-musl/rustup-init.sha256
3638
rustup/dist/mips-unknown-linux-gnu/rustup-init
3739
rustup/dist/mips-unknown-linux-gnu/rustup-init.sha256
3840
rustup/dist/mips64-unknown-linux-gnuabi64/rustup-init
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM rust-loongarch64-unknown-linux-musl
2+
3+
ENV CC_loongarch64_unknown_linux_musl=loongarch64-unknown-linux-musl-gcc \
4+
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_MUSL_LINKER=loongarch64-unknown-linux-musl-gcc

ci/fetch-rust-docker.bash

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ case "$TARGET" in
4242
x86_64-unknown-netbsd) image=dist-x86_64-netbsd ;;
4343
riscv64gc-unknown-linux-gnu) image=dist-riscv64-linux ;;
4444
loongarch64-unknown-linux-gnu) image=dist-loongarch64-linux ;;
45+
loongarch64-unknown-linux-musl) image=dist-loongarch64-musl ;;
4546
*) exit ;;
4647
esac
4748

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ You can manually download `rustup-init` for a given target from
104104
- [sha256 file](https://static.rust-lang.org/rustup/dist/i686-unknown-linux-gnu/rustup-init.sha256)
105105
- [loongarch64-unknown-linux-gnu](https://static.rust-lang.org/rustup/dist/loongarch64-unknown-linux-gnu/rustup-init)
106106
- [sha256 file](https://static.rust-lang.org/rustup/dist/loongarch64-unknown-linux-gnu/rustup-init.sha256)
107+
- [loongarch64-unknown-linux-musl](https://static.rust-lang.org/rustup/dist/loongarch64-unknown-linux-musl/rustup-init)
108+
- [sha256 file](https://static.rust-lang.org/rustup/dist/loongarch64-unknown-linux-musl/rustup-init.sha256)
107109
- [mips-unknown-linux-gnu](https://static.rust-lang.org/rustup/dist/mips-unknown-linux-gnu/rustup-init)
108110
- [sha256 file](https://static.rust-lang.org/rustup/dist/mips-unknown-linux-gnu/rustup-init.sha256)
109111
- [mips64-unknown-linux-gnuabi64](https://static.rust-lang.org/rustup/dist/mips64-unknown-linux-gnuabi64/rustup-init)

src/dist/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,10 @@ const TRIPLE_X86_64_UNKNOWN_LINUX: &str = "x86_64-unknown-linux-musl";
247247
const TRIPLE_AARCH64_UNKNOWN_LINUX: &str = "aarch64-unknown-linux-gnu";
248248
#[cfg(all(not(windows), target_env = "musl"))]
249249
const TRIPLE_AARCH64_UNKNOWN_LINUX: &str = "aarch64-unknown-linux-musl";
250+
#[cfg(all(not(windows), not(target_env = "musl")))]
251+
const TRIPLE_LOONGARCH64_UNKNOWN_LINUX: &str = "loongarch64-unknown-linux-gnu";
252+
#[cfg(all(not(windows), target_env = "musl"))]
253+
const TRIPLE_LOONGARCH64_UNKNOWN_LINUX: &str = "loongarch64-unknown-linux-musl";
250254

251255
// MIPS platforms don't indicate endianness in uname, however binaries only
252256
// run on boxes with the same endianness, as expected.
@@ -503,6 +507,7 @@ impl TargetTriple {
503507
} else {
504508
TRIPLE_AARCH64_UNKNOWN_LINUX
505509
}),
510+
(b"Linux", b"loongarch64") => Some(TRIPLE_LOONGARCH64_UNKNOWN_LINUX),
506511
(b"Darwin", b"x86_64") => Some("x86_64-apple-darwin"),
507512
(b"Darwin", b"i686") => Some("i686-apple-darwin"),
508513
(b"FreeBSD", b"x86_64") => Some("x86_64-unknown-freebsd"),

0 commit comments

Comments
 (0)