Why can't everyone error like cargo?
⚓ Rust 📅 2026-01-28 👤 surdeus 👁️ 1Please don't let bare metal beat me.
I'm working on a UEFI rust bootloader/minimal OS, set up a base NoiseIK draft and had no problems with builds completing until this morning. I done SOMETHING before I went to sleep and now I'm getting build failures only on x86_64-unknown-uefi (aarch64-unknown-uefi has no problems).
"rustc-LLVM ERROR: Do not know how to split the result of this operator!" would be enough if it gave me an operator to work with, but we have nothing and a cargo
My question is not if one if one the intimidatingly skilled people here can solve the problem, can anyone point me to the right tools for debugging non-obvious LLVM issues?
(p.s. if someone wants to tell me what I'm doing wrong it I would not complain, it's the crypto stack isn't it?)
rustup 1.28.2 (e4f3ad6f8 2025-04-28)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active rustc version is rustc 1.95.0-nightly (873d4682c 2026-01-25)
2024 edition
no_std
[dependencies]
log = "0.4.29"
uefi = { version = "0.36.1",default-features = false, features = ["logger", "alloc", "panic_handler"] }
#Link HW Rand to SW access
rand_core = { version = "0.6.4", default-features = false }
#Verify Hash
sha2 = { version = "0.10.9", default-features = false, features = ["force-soft"] }
#KeyGen
blake2 = { version = "0.10.6", default-features = false }
#Comms
chacha20poly1305 = { version = "0.10.1", default-features = false, features = ["alloc"] }
ed25519-compact = { version = "2.2.0", default-features = false, features = ["x25519"] }
Force these trait crates to stay no_std
ed25519 = { version = "2.2.3", default-features = false, features = ["alloc"] }
signature = { version = "2.2.0", default-features = false, features = ["alloc"] }
Ensure panics abort (no unwinding) in a no_std UEFI environment.
[profile.dev]
panic = "abort"
[profile.release]
panic = "abort"
[build]
optional; only if you want a default target
[target.x86_64-unknown-uefi]
linker = "rust-lld"
rustflags = [
"--cfg=poly1305_force_soft",
"--cfg=curve25519_dalek_backend="serial"",
"-Ctarget-feature=-avx,-avx2,-avx512f",
]
[target.aarch64-unknown-uefi]
rustflags = [
"--cfg", "curve25519_dalek_backend="serial"",
]
2 posts - 2 participants
🏷️ Rust_feed