Skip to content

Commit ac3ffcc

Browse files
committed
Add illumos target documentation
1 parent 32c8a9f commit ac3ffcc

File tree

3 files changed

+45
-2
lines changed

3 files changed

+45
-2
lines changed

src/doc/rustc/src/SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
- [csky-unknown-linux-gnuabiv2\*](platform-support/csky-unknown-linux-gnuabiv2.md)
5757
- [hexagon-unknown-linux-musl](platform-support/hexagon-unknown-linux-musl.md)
5858
- [hexagon-unknown-none-elf](platform-support/hexagon-unknown-none-elf.md)
59+
- [illumos](platform-support/illumos.md)
5960
- [loongarch\*-unknown-linux-\*](platform-support/loongarch-linux.md)
6061
- [loongarch\*-unknown-none\*](platform-support/loongarch-none.md)
6162
- [m68k-unknown-linux-gnu](platform-support/m68k-unknown-linux-gnu.md)

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ target | notes
102102
[`riscv64gc-unknown-linux-musl`](platform-support/riscv64gc-unknown-linux-musl.md) | RISC-V Linux (kernel 4.20, musl 1.2.3)
103103
[`s390x-unknown-linux-gnu`](platform-support/s390x-unknown-linux-gnu.md) | S390x Linux (kernel 3.2, glibc 2.17)
104104
[`x86_64-unknown-freebsd`](platform-support/freebsd.md) | 64-bit amd64 FreeBSD
105-
`x86_64-unknown-illumos` | illumos
105+
[`x86_64-unknown-illumos`](platform-support/illumos.md) | illumos
106106
`x86_64-unknown-linux-musl` | 64-bit Linux with musl 1.2.3
107107
[`x86_64-unknown-netbsd`](platform-support/netbsd.md) | NetBSD/amd64
108108

@@ -261,7 +261,7 @@ target | std | host | notes
261261
[`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | ARM64 QNX Neutrino 7.1 RTOS |
262262
[`aarch64-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | ARM64 FreeBSD
263263
[`aarch64-unknown-hermit`](platform-support/hermit.md) | ✓ | | ARM64 Hermit
264-
`aarch64-unknown-illumos` | ✓ | ✓ | ARM64 illumos
264+
[`aarch64-unknown-illumos`](platform-support/illumos.md) | ✓ | ✓ | ARM64 illumos
265265
`aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI)
266266
[`aarch64-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | ARM64 NetBSD
267267
[`aarch64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | ARM64 OpenBSD
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# `aarch64-unknown-illumos` and `x86_64-unknown-illumos`
2+
3+
**Tier: 2/3**
4+
5+
[illumos](https://www.illumos.org/), is a Unix operating system which provides next-generation features for downstream distributions,
6+
including advanced system debugging, next generation filesystem, networking, and virtualization options.
7+
8+
## Target maintainers
9+
10+
- Joshua M. Clulow ([@jclulow](https://github.com/jclulow))
11+
- Patrick Mooney ([@pfmooney](https://github.com/pfmooney))
12+
13+
## Requirements
14+
15+
The target supports host tools.
16+
17+
The illumos target supports `std` and uses the standard ELF file format.
18+
19+
`x86_64-unknown-illumos` is a tier 2 target with host tools.
20+
`aarch64-unknown-illumos` is a tier 3 target.
21+
22+
## Building the target
23+
24+
These targets can be built by adding `aarch64-unknown-illumos` and
25+
`x86_64-unknown-illumos` as targets in the rustc list.
26+
27+
## Building Rust programs
28+
29+
Rust ships pre-compiled artifacts for the `x86_64-unknown-illumos` target.
30+
Rust does not ship pre-compiled artifacts for `aarch64-unknown-illumos`,
31+
it requires building the target either as shown above or using `-Zbuild-std`.
32+
33+
## Testing
34+
35+
Tests can be run in the same way as a regular binary.
36+
37+
## Cross-compilation toolchains and C code
38+
39+
The target supports C code.
40+
41+
The illumos project makes available [prebuilt sysroot artefacts](https://github.com/illumos/sysroot) which can be used for cross compilation.
42+
The official Rust binaries are cross-compiled using these artefacts.

0 commit comments

Comments
 (0)