After the implementation of the check for float ABI for ARM targets in https://github.com/rust-lang/rust/commit/a51fefcaab835b310e2e26005b50982d0049d905 in rust v1.85.0,
I am facing the following error while cross-compiling for ARM 32-bit target using poky:
Caused by:
| process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -L /home/poky/85/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/libstd-rs/1.85.0/recipe-sysroot/usr/lib/rustlib/armv7-poky-linux-gnueabihf/lib --remap-path-prefix=/home/poky/85/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/libstd-rs/1.85.0=/usr/src/debug/libstd-rs/1.85.0 -Cembed-bitcode=yes -Zforce-unstable-if-unmarked -L /home/poky/85/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/libstd-rs/1.85.0/recipe-sysroot/usr/lib -C link-arg=-Wl,-soname,libstd.so --target armv7-poky-linux-gnueabihf --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg` (exit status: 1)
| --- stderr
| error: Error loading target specification: ARM targets must specify their float ABI. Run `rustc --print target-list` for a list of built-in targets
The target "cortexa15t2hf-neon-poky-linux-gnueabi"
falls under the armv7-unknown-linux-gnueabihf (armv7-poky-linux-gnueabihf) arm family.
The closest matching target specification appears to be "armv7_unknown_linux_gnueabihf.rs" file, but it doesn't support the features +neon, +vfp2 ,+thumb-mode and +a15
.
The required target specifications for cortexa15t2hf-neon-poky-linux-gnueabi are as follows:
{
"llvm-target": "armv7-poky-linux-gnueabihf",
"data-layout": "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64",
"max-atomic-width": 64,
"target-pointer-width": "32",
"target-c-int-width": "32",
"target-endian": "little",
"arch": "arm",
"os": "linux",
"env": "gnu",
"vendor": "unknown",
"target-family": "unix",
"linker": "arm-poky-linux-gnueabi-gcc",
"cpu": "generic",
"features": "+vfp2,+neon,+v7,+thumb2,+thumb-mode,+a15",
"dynamic-linking": true,
"executables": true,
"linker-is-gnu": true,
"linker-flavor": "gcc",
"has-rpath": true,
"position-independent-executables": true,
"panic-strategy": "unwind"
}
I also tried to add a new target specification file( armv7neon_unknown_linux_gnueabihf.rs) with the required details but I am still getting the same failure.
Can someone please assist me in resolving the issue?
Let me know if I am missing anything.
CC: @RalfJung