]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
tools/nolibc: MIPS: fix clobbers of 'lo' and 'hi' registers on different ISAs
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Tue, 17 Mar 2026 08:40:36 +0000 (09:40 +0100)
committerThomas Weißschuh <linux@weissschuh.net>
Fri, 20 Mar 2026 16:58:26 +0000 (17:58 +0100)
commite83b07dc8c05a55d02057b1484724a0b188f6f8d
tree8f96d57c7c403e3066e360fab95003ff1aa687f1
parent9bc019e7ba1f797ad7e24ebb33f4fa0be011ce5b
tools/nolibc: MIPS: fix clobbers of 'lo' and 'hi' registers on different ISAs

All MIPS ISAs before r6 use the 'lo' and 'hi' special registers.
These are clobbered by system calls and need to be marked as such to
avoid miscompilations. Currently nolibc ties the clobbers to the ABI.
But this is wrong and leads to ISA<->ABI combinations which are not
handled correctly, leading to compiler errors or miscompilations.

Handle all different combinations of ABI and ISA.

Fixes: a6a2a8a42972 ("tools/nolibc: MIPS: add support for N64 and N32 ABIs")
Fixes: 66b6f755ad45 ("rcutorture: Import a copy of nolibc")
Suggested-by: Maciej W. Rozycki <macro@orcam.me.uk>
Link: https://lore.kernel.org/lkml/alpine.DEB.2.21.2603141744240.55200@angie.orcam.me.uk/
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Link: https://patch.msgid.link/20260317-nolibc-mips-clobber-v2-1-5b9a97761a9e@linutronix.de
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
tools/include/nolibc/arch-mips.h