Rust AArch64 status

Hi,
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 aarch64-unknown-linux-gnu:

  • 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/rust repository’s master branch is gated on platforms building . For some platforms only the standard library is compiled, but for others rustc and cargo are too.

Try this:

rustup target add aarch64-unknown-linux-gnu

Hi,
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)
binary: rustc
commit-hash: a53f9df32fbb0b5f4382caaad8f1a46f36ea887c
commit-date: 2019-07-03
host: aarch64-unknown-linux-gnu
release: 1.36.0
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.

1 Like