Skip to content

Commit f3226b4

Browse files
authored
Rollup merge of #143622 - Gelbpunkt:mips64-unknown-linux-muslabi64-target-maintainer, r=jieyouxu
Add target maintainer information for mips64-unknown-linux-muslabi64 The `mips64-unknown-linux-muslabi64` target is currently rather broken, but I'm working on getting it fixed so that it can at least be used again. While I can't commit to maintaining the LLVM side of this target, I don't mind looking into any other MIPS or musl-related issues that arise with this target. See e.g. #143409 for some rustc fixes I have in the pipeline and rust-lang/libc#4509, rust-lang/libc#4527, rust-lang/libc#4528, rust-lang/libc#4529, rust-lang/libc#4530 for fixing the libc definitions for this target. I'm adding myself as a maintainer mostly due to [this interaction](rust-lang/libc#4530 (comment)). LLVM support has been a concern for these targets in the past, but it shouldn't hurt to have a nominal maintainer for these even if they remain tier 3. From my experience, LLVM for MIPS is working well nowadays unless you decide to use LLD, which is horribly broken on MIPS.
2 parents 38bfba6 + a58a423 commit f3226b4

File tree

3 files changed

+51
-1
lines changed

3 files changed

+51
-1
lines changed

src/doc/rustc/src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
- [m68k-unknown-linux-gnu](platform-support/m68k-unknown-linux-gnu.md)
8484
- [m68k-unknown-none-elf](platform-support/m68k-unknown-none-elf.md)
8585
- [mips64-openwrt-linux-musl](platform-support/mips64-openwrt-linux-musl.md)
86+
- [mips64-unknown-linux-muslabi64](platform-support/mips64-unknown-linux-muslabi64.md)
8687
- [mipsel-sony-psx](platform-support/mipsel-sony-psx.md)
8788
- [mipsel-unknown-linux-gnu](platform-support/mipsel-unknown-linux-gnu.md)
8889
- [mips\*-mti-none-elf](platform-support/mips-mti-none-elf.md)

src/doc/rustc/src/platform-support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ target | std | host | notes
333333
`mips-unknown-linux-uclibc` | ✓ | | MIPS Linux with uClibc
334334
[`mips64-openwrt-linux-musl`](platform-support/mips64-openwrt-linux-musl.md) | ? | | MIPS64 for OpenWrt Linux musl 1.2.3
335335
`mips64-unknown-linux-gnuabi64` | ✓ | ✓ | MIPS64 Linux, N64 ABI (kernel 4.4, glibc 2.23)
336-
`mips64-unknown-linux-muslabi64` | ✓ | | MIPS64 Linux, N64 ABI, musl 1.2.3
336+
[`mips64-unknown-linux-muslabi64`](platform-support/mips64-unknown-linux-muslabi64.md) | ✓ | | MIPS64 Linux, N64 ABI, musl 1.2.3
337337
`mips64el-unknown-linux-gnuabi64` | ✓ | ✓ | MIPS64 (little endian) Linux, N64 ABI (kernel 4.4, glibc 2.23)
338338
`mips64el-unknown-linux-muslabi64` | ✓ | | MIPS64 (little endian) Linux, N64 ABI, musl 1.2.3
339339
`mipsel-sony-psp` | * | | MIPS (LE) Sony PlayStation Portable (PSP)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# mips64-unknown-linux-muslabi64
2+
3+
**Tier: 3**
4+
5+
Target for 64-bit big endian MIPS Linux programs using musl libc and the N64 ABI.
6+
7+
## Target maintainers
8+
9+
[@Gelbpunkt](https://github.com/Gelbpunkt)
10+
11+
## Requirements
12+
13+
Building the target itself requires a 64-bit big endian MIPS compiler that is
14+
supported by `cc-rs`.
15+
16+
## Building the target
17+
18+
The target can be built by enabling it for a `rustc` build.
19+
20+
```toml
21+
[build]
22+
target = ["mips64-unknown-linux-muslabi64"]
23+
```
24+
25+
Make sure your C compiler is included in `$PATH`, then add it to the
26+
`bootstrap.toml`:
27+
28+
```toml
29+
[target.mips64-unknown-linux-muslabi64]
30+
cc = "mips64-linux-musl-gcc"
31+
cxx = "mips64-linux-musl-g++"
32+
ar = "mips64-linux-musl-ar"
33+
linker = "mips64-linux-musl-gcc"
34+
```
35+
36+
## Building Rust programs
37+
38+
Rust does not yet ship pre-compiled artifacts for this target. To compile for
39+
this target, you will first need to build Rust with the target enabled (see
40+
"Building the target" above).
41+
42+
## Cross-compilation
43+
44+
This target can be cross-compiled from any host.
45+
46+
## Testing
47+
48+
This target can be tested as normal with `x.py` on a 64-bit big endian MIPS
49+
host or via QEMU emulation.

0 commit comments

Comments
 (0)