diff mbox series

linux: sparc: Fix clone for LEON/sparcv8 (BZ 31394)

Message ID 20240902195854.1455369-1-adhemerval.zanella@linaro.org
State New
Headers show
Series linux: sparc: Fix clone for LEON/sparcv8 (BZ 31394) | expand

Commit Message

Adhemerval Zanella Sept. 2, 2024, 7:58 p.m. UTC
The sparc clone mitigation (faeaa3bc9f76030) added the use of
flushw, which is not support by LEON/sparcv8.  As discussed in
the libc-alpha, 'ta 3' is a working alternative [1].

[1] https://sourceware.org/pipermail/libc-alpha/2024-August/158905.html

Checked with a build for sparcv8-linux-gnu targetting leon.
---
 sysdeps/unix/sysv/linux/sparc/sparc32/clone.S | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
index c9cf9bb055..c84244f56b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
@@ -29,7 +29,11 @@ 
 ENTRY (__clone)
 	save	%sp,-96,%sp
 	save	%sp,-96,%sp
+#ifdef __sparcv9
 	flushw
+#else
+	ta 3
+#endif
 	restore
 	cfi_def_cfa_register(%fp)
 	cfi_window_save