Skip to content

Commit ac50707

Browse files
committed
Add platform docs for FreeBSD.
1 parent df5b8e3 commit ac50707

File tree

2 files changed

+46
-8
lines changed

2 files changed

+46
-8
lines changed

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

Lines changed: 8 additions & 8 deletions
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`](platform-support/s390x-unknown-linux-gnu.md) | 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)
@@ -258,7 +258,7 @@ target | std | host | notes
258258
[`aarch64-unknown-teeos`](platform-support/aarch64-unknown-teeos.md) | ? | | ARM64 TEEOS |
259259
[`aarch64-unknown-nto-qnx700`](platform-support/nto-qnx.md) | ? | | ARM64 QNX Neutrino 7.0 RTOS |
260260
[`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | ARM64 QNX Neutrino 7.1 RTOS |
261-
`aarch64-unknown-freebsd` | ✓ | ✓ | ARM64 FreeBSD
261+
[`aarch64-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | ARM64 FreeBSD
262262
[`aarch64-unknown-hermit`](platform-support/hermit.md) | ✓ | | ARM64 Hermit
263263
`aarch64-unknown-illumos` | ✓ | ✓ | ARM64 illumos
264264
`aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI)
@@ -277,14 +277,14 @@ target | std | host | notes
277277
`armv4t-unknown-linux-gnueabi` | ? | | Armv4T Linux
278278
[`armv5te-none-eabi`](platform-support/armv5te-none-eabi.md) | * | | Bare Armv5TE
279279
`armv5te-unknown-linux-uclibceabi` | ? | | Armv5TE Linux with uClibc
280-
`armv6-unknown-freebsd` | ✓ | ✓ | Armv6 FreeBSD
280+
[`armv6-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | Armv6 FreeBSD
281281
[`armv6-unknown-netbsd-eabihf`](platform-support/netbsd.md) | ✓ | ✓ | Armv6 NetBSD w/hard-float
282282
[`armv6k-nintendo-3ds`](platform-support/armv6k-nintendo-3ds.md) | ? | | Armv6k Nintendo 3DS, Horizon (Requires devkitARM toolchain)
283283
[`armv7-rtems-eabihf`](platform-support/armv7-rtems-eabihf.md) | ? | | RTEMS OS for ARM BSPs
284284
[`armv7-sony-vita-newlibeabihf`](platform-support/armv7-sony-vita-newlibeabihf.md) | ✓ | | Armv7-A Cortex-A9 Sony PlayStation Vita (requires VITASDK toolchain)
285285
[`armv7-unknown-linux-uclibceabi`](platform-support/armv7-unknown-linux-uclibceabi.md) | ✓ | ✓ | Armv7-A Linux with uClibc, softfloat
286286
[`armv7-unknown-linux-uclibceabihf`](platform-support/armv7-unknown-linux-uclibceabihf.md) | ✓ | ? | Armv7-A Linux with uClibc, hardfloat
287-
`armv7-unknown-freebsd` | ✓ | ✓ | Armv7-A FreeBSD
287+
[`armv7-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | Armv7-A FreeBSD
288288
[`armv7-unknown-netbsd-eabihf`](platform-support/netbsd.md) | ✓ | ✓ | Armv7-A NetBSD w/hard-float
289289
[`armv7-unknown-trusty`](platform-support/trusty.md) | ? | |
290290
[`armv7-wrs-vxworks-eabihf`](platform-support/vxworks.md) | ✓ | | Armv7-A for VxWorks
@@ -343,9 +343,9 @@ target | std | host | notes
343343
[`powerpc-unknown-openbsd`](platform-support/powerpc-unknown-openbsd.md) | * | |
344344
[`powerpc-wrs-vxworks-spe`](platform-support/vxworks.md) | ✓ | |
345345
[`powerpc-wrs-vxworks`](platform-support/vxworks.md) | ✓ | |
346-
`powerpc64-unknown-freebsd` | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2)
347-
`powerpc64le-unknown-freebsd` | ✓ | ✓ | PPC64LE FreeBSD
348-
`powerpc-unknown-freebsd` | ? | | PowerPC FreeBSD
346+
[`powerpc64-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2)
347+
[`powerpc64le-unknown-freebsd`](platform-support/freebsd.md) | ✓ | ✓ | PPC64LE FreeBSD
348+
[`powerpc-unknown-freebsd`](platform-support/freebsd.md) | ? | | PowerPC FreeBSD
349349
`powerpc64-unknown-linux-musl` | ? | | 64-bit PowerPC Linux with musl 1.2.3
350350
[`powerpc64-wrs-vxworks`](platform-support/vxworks.md) | ✓ | |
351351
`powerpc64le-unknown-linux-musl` | ? | | 64-bit PowerPC Linux with musl 1.2.3, Little Endian
Lines changed: 38 additions & 0 deletions
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)