I am new to rust (code base). Do you know the current status of aarch64 in rust? As in, how functional, well tested, performant it is? I am looking at https://forge.rust-lang.org/platform-support.html for triple
aarch64-unknown-linux-gnu, does that mean I can build rust from source? If so, how can I figure out aarch64 status on my own?
The page you link describes exactly the status of
- Official binary releases are provided for the platform.
- Automated building is set up, but may not be running tests.
- Landing changes to the
rust-lang/rustrepository’s master branch is gated on platforms building . For some platforms only the standard library is compiled, but for others
rustup target add aarch64-unknown-linux-gnu
Thank you for the response. If I am cross-compiling for AArch64 on x86 linux, how can I reproduce the status? As in, getting it to build successfully, able to run tests, build my own rust code and run on hardware.
You can cross-compile with any rust/cargo command by passing
--target aarch64-unknown-linux-gnu. See https://github.com/japaric/rust-cross for more information about cross compiling Rust.
I use Rust on Odroid-C2. In this board run 64 bit Linux, you can use Ubuntu from Hardkernel or Armbian.
odroidc2:~$ rustc --version -v
rustc 1.36.0 (a53f9df32 2019-07-03)
LLVM version: 8.0
What if one wants to build whole rust stack with AArch64? I have gcc and clang cross compilers on my machine
As rust is written in rust, there is no straightforward way to bootstrap rust on a target using just gcc/clang . Doing so is a very deep rabbit hole involving chains of old compilers. So the usual way would be to cross-compile the compiler on a machine that already has rust.