Re: Re: [PATCH v2 0/3] Inline helpers into Rust without full LTO

From: Russell King (Oracle)

Date: Mon Mar 23 2026 - 06:10:34 EST


On Mon, Mar 23, 2026 at 01:03:27AM +0100, Miguel Ojeda wrote:
> On Sun, 22 Mar 2026 20:21:59 +0100 Miguel Ojeda <ojeda@xxxxxxxxxx> wrote:
> >
> > On the other hand, regardless of whether we fix this (and another
> > issue in a separate email found thanks to the UML build), we could
> > instead add `depends on` listing explicitly the architectures where
> > this is going to be actually tested. That way maintainers can decide
> > whether they want to support it when they are ready. Thoughts?
>
> Another one for arm 32-bit:
>
> LD .tmp_vmlinux1
> ld.lld: error: undefined symbol: __aeabi_read_tp
> >>> referenced by uaccess.rs:349 (rust/kernel/uaccess.rs:349)
> >>> samples/rust/rust_misc_device.o:(<rust_misc_device::RustMiscDevice as kernel::miscdevice::MiscDevice>::ioctl) in archive vmlinux.a
> >>> referenced by uaccess.rs:543 (rust/kernel/uaccess.rs:543)
> >>> samples/rust/rust_misc_device.o:(<rust_misc_device::RustMiscDevice as kernel::miscdevice::MiscDevice>::ioctl) in archive vmlinux.a
> >>> referenced by uaccess.rs:543 (rust/kernel/uaccess.rs:543)
> >>> drivers/android/binder/rust_binder_main.o:(rust_binder_main::rust_binder_ioctl) in archive vmlinux.a
> >>> referenced 36 more times

Why is Rust generating code for userspace thread accessors for kernel
space, where userspace threads are meaningless. This is totally wrong.
The kernel must not reference __aeabi_read_tp().

Note: I know nothing about Rust, but I know enough to say the above is
pointing to a fundamental issue in Rust for 32-bit ARM.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!