about summary refs log tree commit diff
path: root/src/doc/rustc
diff options
context:
space:
mode:
authorNoratrieb <48135649+Noratrieb@users.noreply.github.com>2024-11-01 21:45:49 +0100
committerNoratrieb <48135649+Noratrieb@users.noreply.github.com>2024-12-30 16:25:25 +0100
commitac3ffccf37a4eefb50844c01919da935ca668431 (patch)
tree6d7fe5960282617f7f8e02a2d6fcfe6305323f5e /src/doc/rustc
parent32c8a9f49d5b753ccb0aee2fd1f7a232a9c5baf3 (diff)
downloadrust-ac3ffccf37a4eefb50844c01919da935ca668431.tar.gz
rust-ac3ffccf37a4eefb50844c01919da935ca668431.zip
Add illumos target documentation
Diffstat (limited to 'src/doc/rustc')
-rw-r--r--src/doc/rustc/src/SUMMARY.md1
-rw-r--r--src/doc/rustc/src/platform-support.md4
-rw-r--r--src/doc/rustc/src/platform-support/illumos.md42
3 files changed, 45 insertions, 2 deletions
diff --git a/src/doc/rustc/src/SUMMARY.md b/src/doc/rustc/src/SUMMARY.md
index 9743b3ba442..f0c3720eae1 100644
--- a/src/doc/rustc/src/SUMMARY.md
+++ b/src/doc/rustc/src/SUMMARY.md
@@ -56,6 +56,7 @@
     - [csky-unknown-linux-gnuabiv2\*](platform-support/csky-unknown-linux-gnuabiv2.md)
     - [hexagon-unknown-linux-musl](platform-support/hexagon-unknown-linux-musl.md)
     - [hexagon-unknown-none-elf](platform-support/hexagon-unknown-none-elf.md)
+    - [illumos](platform-support/illumos.md)
     - [loongarch\*-unknown-linux-\*](platform-support/loongarch-linux.md)
     - [loongarch\*-unknown-none\*](platform-support/loongarch-none.md)
     - [m68k-unknown-linux-gnu](platform-support/m68k-unknown-linux-gnu.md)
diff --git a/src/doc/rustc/src/platform-support.md b/src/doc/rustc/src/platform-support.md
index 00ab61051c3..b82e371ebfb 100644
--- a/src/doc/rustc/src/platform-support.md
+++ b/src/doc/rustc/src/platform-support.md
@@ -102,7 +102,7 @@ target | notes
 [`riscv64gc-unknown-linux-musl`](platform-support/riscv64gc-unknown-linux-musl.md) | RISC-V Linux (kernel 4.20, musl 1.2.3)
 [`s390x-unknown-linux-gnu`](platform-support/s390x-unknown-linux-gnu.md) | S390x Linux (kernel 3.2, glibc 2.17)
 [`x86_64-unknown-freebsd`](platform-support/freebsd.md) | 64-bit amd64 FreeBSD
-`x86_64-unknown-illumos` | illumos
+[`x86_64-unknown-illumos`](platform-support/illumos.md) | illumos
 `x86_64-unknown-linux-musl` | 64-bit Linux with musl 1.2.3
 [`x86_64-unknown-netbsd`](platform-support/netbsd.md) | NetBSD/amd64
 
@@ -261,7 +261,7 @@ target | std | host | notes
 [`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ✓ |  | ARM64 QNX Neutrino 7.1 RTOS |
 [`aarch64-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | ARM64 FreeBSD
 [`aarch64-unknown-hermit`](platform-support/hermit.md) | ✓ |  | ARM64 Hermit
-`aarch64-unknown-illumos` | ✓ | ✓ | ARM64 illumos
+[`aarch64-unknown-illumos`](platform-support/illumos.md) | ✓ | ✓ | ARM64 illumos
 `aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI)
 [`aarch64-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | ARM64 NetBSD
 [`aarch64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | ARM64 OpenBSD
diff --git a/src/doc/rustc/src/platform-support/illumos.md b/src/doc/rustc/src/platform-support/illumos.md
new file mode 100644
index 00000000000..dd2ae90f674
--- /dev/null
+++ b/src/doc/rustc/src/platform-support/illumos.md
@@ -0,0 +1,42 @@
+# `aarch64-unknown-illumos` and `x86_64-unknown-illumos`
+
+**Tier: 2/3**
+
+[illumos](https://www.illumos.org/), is a Unix operating system which provides next-generation features for downstream distributions,
+including advanced system debugging, next generation filesystem, networking, and virtualization options.
+
+## Target maintainers
+
+- Joshua M. Clulow ([@jclulow](https://github.com/jclulow))
+- Patrick Mooney ([@pfmooney](https://github.com/pfmooney))
+
+## Requirements
+
+The target supports host tools.
+
+The illumos target supports `std` and uses the standard ELF file format.
+
+`x86_64-unknown-illumos` is a tier 2 target with host tools.
+`aarch64-unknown-illumos` is a tier 3 target.
+
+## Building the target
+
+These targets can be built by adding `aarch64-unknown-illumos` and
+`x86_64-unknown-illumos` as targets in the rustc list.
+
+## Building Rust programs
+
+Rust ships pre-compiled artifacts for the `x86_64-unknown-illumos` target.
+Rust does not ship pre-compiled artifacts for `aarch64-unknown-illumos`,
+it requires building the target either as shown above or using `-Zbuild-std`.
+
+## Testing
+
+Tests can be run in the same way as a regular binary.
+
+## Cross-compilation toolchains and C code
+
+The target supports C code.
+
+The illumos project makes available [prebuilt sysroot artefacts](https://github.com/illumos/sysroot) which can be used for cross compilation.
+The official Rust binaries are cross-compiled using these artefacts.