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

The sparc clone mitigation (faeaa3bc9f) added the use of
flushw, which is not support by LEON/sparcv8.  As discussed on
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.

Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
This commit is contained in:
Adhemerval Zanella 2024-09-02 16:58:51 -03:00
parent 49c3682ce1
commit 5e8cfc5d62

View File

@ -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