Closed
Description
I tried to cross-build rust 1.80.0 for the big-endian aarch64 NetBSD target.
I expected to see this happen: I expected (eh, "hoped") that this build would now succeed (1.79.0 didn't)
Instead, this happened: The build bombs out because some SIMD type is not available:
error[E0432]: unresolved import `core::arch::aarch64::float32x2_t`
--> /usr/pkgsrc/wip/rust180/work/rustc-1.80.0-src/vendor/zerocopy-0.7.34/src/lib.rs:3686:43
|
3681 | / macro_rules! simd_arch_mod {
3682 | | (#[cfg $cfg:tt] $arch:ident, $mod:ident, $($typ:ident),*) => {
3683 | | #[cfg $cfg]
3684 | | #[cfg_attr(doc_cfg, doc(cfg $cfg))]
3685 | | mod $mod {
3686 | | use core::arch::$arch::{$($typ),*};
| | ^^^^ no `float32x2_t` in `core_arch::arch::aarch64`
... |
3696 | | };
3697 | | }
| |_____- in this expansion of `simd_arch_mod!`
...
3729 | / simd_arch_mod!(
3730 | | #[cfg(target_arch = "aarch64")]
3731 | | aarch64, aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
3732 | | int8x8x3_t, int8x8x4_t, int8x16_t, int8x16x2_t, int8x16x3_t, int8x16x4_t, int16x4_t,
... |
3737 | | uint64x1_t, uint64x2_t
3738 | | );
| |_________- in this macro invocation
Meta
The build host has 1.80.0 installed, but is using 1.79.0 in the bootstrap process, but that's probably irrelevant here.
rustc --version --verbose
:
$ rustc --version --verbose
rustc 1.80.0 (051478957 2024-07-21) (built from a source tarball)
binary: rustc
commit-hash: 051478957371ee0084a7c0913941d2a8c4757bb9
commit-date: 2024-07-21
host: x86_64-unknown-netbsd
release: 1.80.0
LLVM version: 18.1.8
$
The details of the failed build can be seen above.
I see one other big-endian aarch64 port, so I'm wondering if I'm alone in observing this issue for big-endian aarch64?