x86_64-unknown-linux-none
Tier: 3
Freestanding x86-64 linux binary with no dependency on libc.
Target maintainers
Requirements
This target is cross compiled and can be built from any host.
This target has no support for host tools, std, or alloc.
One of the primary motivations of the target is to write a dynamic linker and libc in Rust.
For that, the target defaults to position-independent code and position-independent executables (PIE) by default.
PIE binaries need relocation at runtime. This is usually done by the dynamic linker or libc.
You can use -Crelocation-model=static
to create a position-dependent binary that does not need relocation at runtime.
Building the target
The target can be built by enabling it for a rustc
build:
[build]
build-stage = 1
target = ["x86_64-unknown-linux-none"]
Building Rust programs
Rust does not yet ship pre-compiled artifacts for this target. To compile for
this target, you will either need to build Rust with the target enabled (see
"Building the target" above), or build your own copy of core
by using
build-std
or similar.
Testing
Created binaries will run on linux without any external requirements
Cross-compilation toolchains and C code
Support for C code is currently untested