`u64` by `u64` div/mod in DRM QR for arm32
Miguel Ojeda
miguel.ojeda.sandonis at gmail.com
Mon Apr 14 11:14:04 PDT 2025
Hi Jocelyn, Christian,
I started build-testing arm 32-bit within my other usual routine
tests, and I hit:
ld.lld: error: undefined symbol: __aeabi_uldivmod
>>> referenced by drm_panic_qr.rs:417 (drivers/gpu/drm/drm_panic_qr.rs:417)
>>> drivers/gpu/drm/drm_panic_qr.o:(<drm_panic_qr::SegmentIterator
as core::iter::traits::iterator::Iterator>::next) in archive vmlinux.a
which comes from both these `u64` by `u64`:
let out = (self.carry / pow) as u16;
self.carry = self.carry % pow;
Christian: I guess we can offer a set of `div64` functions using the C
ones, at least for the time being, and eventually wire the actual
operator with some support from upstream Rust. Or do you have
something else in mind? (i.e. I think you have been discussing
intrinsics lately)
Thanks!
Cheers,
Miguel
More information about the linux-arm-kernel
mailing list