I'm cross-compiling a Rust program to armv8 / aarch64 with the aarch64-unknown-linux-musl
target. Building fails during linking due to a number of missing symbols all related to soft floats (addtf3
, multf3
, subtf3
and more). These are referenced by vfprintf
in ~/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/aarch64-unknown-linux-musl/lib/liblibc-f904a5ce7e6fe846.rlib
.
Is this a bug in the aarch64-unknown-linux-musl
target? As I understand from aarch64 Linux Hard float or soft float soft floats are not supported by GCC on aarch64. Does that extend to Rust?
Or is there some other way to configure Rust not to include references to soft float functions?