Skip to content

Commit 2d5ddb6

Browse files
committed
Add platform docs for FreeBSD.
1 parent 0f26ee4 commit 2d5ddb6

File tree

2 files changed

+46
-8
lines changed

2 files changed

+46
-8
lines changed

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

+8-8
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ target | notes
100100
[`riscv64gc-unknown-linux-gnu`](platform-support/riscv64gc-unknown-linux-gnu.md) | RISC-V Linux (kernel 4.20, glibc 2.29)
101101
[`riscv64gc-unknown-linux-musl`](platform-support/riscv64gc-unknown-linux-musl.md) | RISC-V Linux (kernel 4.20, musl 1.2.3)
102102
`s390x-unknown-linux-gnu` | S390x Linux (kernel 3.2, glibc 2.17)
103-
`x86_64-unknown-freebsd` | 64-bit FreeBSD
103+
[`x86_64-unknown-freebsd`](platform-support/freebsd.md) | 64-bit FreeBSD
104104
`x86_64-unknown-illumos` | illumos
105105
`x86_64-unknown-linux-musl` | 64-bit Linux with musl 1.2.3
106106
[`x86_64-unknown-netbsd`](platform-support/netbsd.md) | NetBSD/amd64
@@ -166,7 +166,7 @@ target | std | notes
166166
`i586-unknown-linux-musl` | ✓ | 32-bit Linux w/o SSE, musl 1.2.3 [^x86_32-floats-x87]
167167
[`i686-linux-android`](platform-support/android.md) | ✓ | 32-bit x86 Android [^x86_32-floats-return-ABI]
168168
[`i686-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | 32-bit x86 MinGW (Windows 10+), LLVM ABI [^x86_32-floats-return-ABI]
169-
`i686-unknown-freebsd` | ✓ | 32-bit FreeBSD [^x86_32-floats-return-ABI]
169+
[`i686-unknown-freebsd`](platform-support/freebsd.md) | ✓ | 32-bit FreeBSD [^x86_32-floats-return-ABI]
170170
`i686-unknown-linux-musl` | ✓ | 32-bit Linux with musl 1.2.3 [^x86_32-floats-return-ABI]
171171
[`i686-unknown-uefi`](platform-support/unknown-uefi.md) | ? | 32-bit UEFI
172172
[`loongarch64-unknown-none`](platform-support/loongarch-none.md) | * | LoongArch64 Bare-metal (LP64D ABI)
@@ -256,7 +256,7 @@ target | std | host | notes
256256
[`aarch64-nintendo-switch-freestanding`](platform-support/aarch64-nintendo-switch-freestanding.md) | * | | ARM64 Nintendo Switch, Horizon
257257
[`aarch64-unknown-teeos`](platform-support/aarch64-unknown-teeos.md) | ? | | ARM64 TEEOS |
258258
[`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | ARM64 QNX Neutrino 7.1 RTOS |
259-
`aarch64-unknown-freebsd` | ✓ | ✓ | ARM64 FreeBSD
259+
[`aarch64-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | ARM64 FreeBSD
260260
[`aarch64-unknown-hermit`](platform-support/hermit.md) | ✓ | | ARM64 Hermit
261261
`aarch64-unknown-illumos` | ✓ | ✓ | ARM64 illumos
262262
`aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI)
@@ -274,13 +274,13 @@ target | std | host | notes
274274
`armv4t-unknown-linux-gnueabi` | ? | | Armv4T Linux
275275
[`armv5te-none-eabi`](platform-support/armv5te-none-eabi.md) | * | | Bare Armv5TE
276276
`armv5te-unknown-linux-uclibceabi` | ? | | Armv5TE Linux with uClibc
277-
`armv6-unknown-freebsd` | ✓ | ✓ | Armv6 FreeBSD
277+
[`armv6-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | Armv6 FreeBSD
278278
[`armv6-unknown-netbsd-eabihf`](platform-support/netbsd.md) | ✓ | ✓ | Armv6 NetBSD w/hard-float
279279
[`armv6k-nintendo-3ds`](platform-support/armv6k-nintendo-3ds.md) | ? | | Armv6k Nintendo 3DS, Horizon (Requires devkitARM toolchain)
280280
[`armv7-sony-vita-newlibeabihf`](platform-support/armv7-sony-vita-newlibeabihf.md) | ✓ | | Armv7-A Cortex-A9 Sony PlayStation Vita (requires VITASDK toolchain)
281281
[`armv7-unknown-linux-uclibceabi`](platform-support/armv7-unknown-linux-uclibceabi.md) | ✓ | ✓ | Armv7-A Linux with uClibc, softfloat
282282
[`armv7-unknown-linux-uclibceabihf`](platform-support/armv7-unknown-linux-uclibceabihf.md) | ✓ | ? | Armv7-A Linux with uClibc, hardfloat
283-
`armv7-unknown-freebsd` | ✓ | ✓ | Armv7-A FreeBSD
283+
[`armv7-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | Armv7-A FreeBSD
284284
[`armv7-unknown-netbsd-eabihf`](platform-support/netbsd.md) | ✓ | ✓ | Armv7-A NetBSD w/hard-float
285285
[`armv7-wrs-vxworks-eabihf`](platform-support/vxworks.md) | ✓ | | Armv7-A for VxWorks
286286
[`armv7a-kmc-solid_asp3-eabi`](platform-support/kmc-solid.md) | ✓ | | ARM SOLID with TOPPERS/ASP3
@@ -337,9 +337,9 @@ target | std | host | notes
337337
[`powerpc-unknown-openbsd`](platform-support/powerpc-unknown-openbsd.md) | * | |
338338
[`powerpc-wrs-vxworks-spe`](platform-support/vxworks.md) | ✓ | |
339339
[`powerpc-wrs-vxworks`](platform-support/vxworks.md) | ✓ | |
340-
`powerpc64-unknown-freebsd` | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2)
341-
`powerpc64le-unknown-freebsd` | | | PPC64LE FreeBSD
342-
`powerpc-unknown-freebsd` | | | PowerPC FreeBSD
340+
[`powerpc64-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2)
341+
[`powerpc64le-unknown-freebsd`](platform-support/freebsd.md) | | | PPC64LE FreeBSD
342+
[`powerpc-unknown-freebsd`](platform-support/freebsd.md) | | | PowerPC FreeBSD
343343
`powerpc64-unknown-linux-musl` | ? | | 64-bit PowerPC Linux with musl 1.2.3
344344
[`powerpc64-wrs-vxworks`](platform-support/vxworks.md) | ✓ | |
345345
`powerpc64le-unknown-linux-musl` | ? | | 64-bit PowerPC Linux with musl 1.2.3, Little Endian
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# \*-unknown-freebsd
2+
3+
**Tier: 2/3**
4+
5+
[FreeBSD] multi-platform 4.4BSD-based UNIX-like operating system.
6+
7+
[FreeBSD]: https://www.FreeBSD.org/
8+
9+
## Target maintainers
10+
11+
- Alan Somers `[email protected]`, https://github.com/asomers
12+
13+
## Requirements
14+
15+
The `x86_64-unknown-freebsd` target is Tier 2 with host tools.
16+
`i686-unknown-freebsd` is Tier 2 without host tools. Other targets are Tier 3.
17+
See [platform-support.md](../platform-support.md) for the full list.
18+
19+
On all architectures, rustc requires FreeBSD version 12 or later to run and
20+
produces binaries that require FreeBSD version 12, too. Prior to Rust 1.78.0,
21+
rustc would run on FreeBSD 10 or later, but build binaries that required
22+
FreeBSD 11. libc requires FreeBSD 11 or later.
23+
24+
`extern "C"` uses the official calling convention of the respective architectures.
25+
26+
FreeBSD OS binaries use the ELF file format.
27+
28+
## Building Rust programs
29+
30+
The `x86_64-unknown-freebsd` artifacts are distributed by the rust project and
31+
may be installed with rustup. Other targets are built by the ports system and
32+
may be installed with [pkg(7)](https://man.freebsd.org/cgi/man.cgi?query=pkg)
33+
or [ports(7)](https://man.freebsd.org/cgi/man.cgi?query=ports).
34+
35+
## Testing
36+
37+
The Rust test suite can be run natively. It can also be run from the ports tree
38+
with the `make test` command from within the lang/rust directory.

0 commit comments

Comments
 (0)