From 50d17df649dd8ec356e69013b609a12be50cc51f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Marie?= Date: Sun, 19 Dec 2021 08:18:42 +0000 Subject: [PATCH 1/2] add OpenBSD platform-support page --- src/doc/rustc/src/platform-support.md | 8 +-- src/doc/rustc/src/platform-support/openbsd.md | 56 +++++++++++++++++++ 2 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 src/doc/rustc/src/platform-support/openbsd.md diff --git a/src/doc/rustc/src/platform-support.md b/src/doc/rustc/src/platform-support.md index f4f659ffa273e..70b19ef9d9ff2 100644 --- a/src/doc/rustc/src/platform-support.md +++ b/src/doc/rustc/src/platform-support.md @@ -208,7 +208,7 @@ target | std | host | notes `aarch64-unknown-uefi` | * | | ARM64 UEFI `aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI) `aarch64-unknown-netbsd` | ✓ | ✓ | -`aarch64-unknown-openbsd` | ✓ | ✓ | ARM64 OpenBSD +[`aarch64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | ARM64 OpenBSD `aarch64-unknown-redox` | ? | | ARM64 Redox OS `aarch64-uwp-windows-msvc` | ? | | `aarch64-wrs-vxworks` | ? | | @@ -237,7 +237,7 @@ target | std | host | notes `i686-pc-windows-msvc` | ✓ | | 32-bit Windows XP support `i686-unknown-haiku` | ✓ | ✓ | 32-bit Haiku `i686-unknown-netbsd` | ✓ | ✓ | NetBSD/i386 with SSE2 -`i686-unknown-openbsd` | ✓ | ✓ | 32-bit OpenBSD +[`i686-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | 32-bit OpenBSD `i686-unknown-uefi` | * | | 32-bit UEFI `i686-uwp-windows-gnu` | ? | | `i686-uwp-windows-msvc` | ? | | @@ -272,7 +272,7 @@ target | std | host | notes `s390x-unknown-linux-musl` | | | S390x Linux (kernel 2.6.32, MUSL) `sparc-unknown-linux-gnu` | ✓ | | 32-bit SPARC Linux `sparc64-unknown-netbsd` | ✓ | ✓ | NetBSD/sparc64 -`sparc64-unknown-openbsd` | ? | | +[`sparc64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/sparc64 `thumbv4t-none-eabi` | * | | ARMv4T T32 `thumbv7a-pc-windows-msvc` | ? | | `thumbv7a-uwp-windows-msvc` | ✓ | | @@ -289,7 +289,7 @@ target | std | host | notes [`x86_64-unknown-none`](platform-support/x86_64-unknown-none.md) | * | | Freestanding/bare-metal x86_64, softfloat `x86_64-unknown-none-hermitkernel` | ? | | HermitCore kernel `x86_64-unknown-none-linuxkernel` | * | | Linux kernel modules -`x86_64-unknown-openbsd` | ✓ | ✓ | 64-bit OpenBSD +[`x86_64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | 64-bit OpenBSD `x86_64-unknown-uefi` | * | | 64-bit UEFI `x86_64-uwp-windows-gnu` | ✓ | | `x86_64-uwp-windows-msvc` | ✓ | | diff --git a/src/doc/rustc/src/platform-support/openbsd.md b/src/doc/rustc/src/platform-support/openbsd.md new file mode 100644 index 0000000000000..b2ac776eada48 --- /dev/null +++ b/src/doc/rustc/src/platform-support/openbsd.md @@ -0,0 +1,56 @@ +# \*-unknown-openbsd + +**Tier: 3** + +[OpenBSD] multi-platform 4.4BSD-based UNIX-like operating system. + +[OpenBSD]: https://www.openbsd.org/ + +The target names follow this format: `$ARCH-unknown-openbsd`, where `$ARCH` specifies the target processor architecture. The following targets are currently defined: + +| Target name | C++ library | OpenBSD Platform | +|--------------------------------|-------------|------------------| +| `aarch64-unknown-openbsd` | libc++ | [64-bit ARM systems](https://www.openbsd.org/arm64.html) | +| `i686-unknown-openbsd` | libc++ | [Standard PC and clones based on the Intel i386 architecture and compatible processors](https://www.openbsd.org/i386.html) | +| `sparc64-unknown-openbsd` | estdc++ | [Sun UltraSPARC and Fujitsu SPARC64 systems](https://www.openbsd.org/sparc64.html) | +| `x86_64-unknown-openbsd` | libc++ | [AMD64-based systems](https://www.openbsd.org/amd64.html) | + +Note that all OS versions are *major* even if using X.Y notation (`6.8` and `6.9` are different major versions) and could be binary incompatibles (with breaking changes). + + +## Designated Developers + +- [@semarie](https://github.com/semarie), `semarie@openbsd.org` +- [lang/rust](https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/rust/Makefile?rev=HEAD&content-type=text/x-cvsweb-markup) maintainer (see MAINTAINER variable) + +Fallback to ports@openbsd.org, OpenBSD third parties public mailing-list (with openbsd developers readers) + + +## Requirements + +These targets are natively compiled and could be cross-compiled. +C compiler toolchain is required for the purpose of building Rust and functional binaries. + +## Building + +The target can be built by enabling it for a `rustc` build. + +```toml +[build] +target = ["$ARCH-unknown-openbsd"] + +[target.$ARCH-unknown-openbsd] +cc = "$ARCH-openbsd-cc" +``` + +## Cross-compilation + +These targets can be cross-compiled, but LLVM might not build out-of-box. + +## Testing + +The Rust testsuite could be run natively. + +## Building Rust programs + +Rust does not yet ship pre-compiled artifacts for these targets. From 9c1b4d092faf2f85ef7854c83bde27b4014e237d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Marie?= Date: Sun, 19 Dec 2021 10:44:05 +0000 Subject: [PATCH 2/2] add platform-support/openbsd.md in SUMMARY.md --- src/doc/rustc/src/SUMMARY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/doc/rustc/src/SUMMARY.md b/src/doc/rustc/src/SUMMARY.md index 69a0304d41d8c..87dd77dd9a466 100644 --- a/src/doc/rustc/src/SUMMARY.md +++ b/src/doc/rustc/src/SUMMARY.md @@ -15,6 +15,7 @@ - [Platform Support](platform-support.md) - [aarch64-apple-ios-sim](platform-support/aarch64-apple-ios-sim.md) - [\*-kmc-solid_\*](platform-support/kmc-solid.md) + - [*-unknown-openbsd](platform-support/openbsd.md) - [x86_64-unknown-none](platform-support/x86_64-unknown-none.md) - [wasm64-unknown-unknown](platform-support/wasm64-unknown-unknown.md) - [Target Tier Policy](target-tier-policy.md)