diff options
Diffstat (limited to 'sparc-Fix-broken-memset-for-sparc32-BZ-31068.patch')
-rw-r--r-- | sparc-Fix-broken-memset-for-sparc32-BZ-31068.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sparc-Fix-broken-memset-for-sparc32-BZ-31068.patch b/sparc-Fix-broken-memset-for-sparc32-BZ-31068.patch new file mode 100644 index 0000000..db3f4ae --- /dev/null +++ b/sparc-Fix-broken-memset-for-sparc32-BZ-31068.patch @@ -0,0 +1,43 @@ +From 6f68075869f6034f5fde3823741623d34164dc7d Mon Sep 17 00:00:00 2001 +From: Andreas Larsson <andreas@gaisler.com> +Date: Wed, 15 Nov 2023 13:29:43 +0100 +Subject: [PATCH 3/6] sparc: Fix broken memset for sparc32 [BZ #31068] + +Fixes commit a61933fe27df ("sparc: Remove bzero optimization") that +after moving code jumped to the wrong label 4. + +Verfied by successfully running string/test-memset on sparc32. + +Signed-off-by: Andreas Larsson <andreas@gaisler.com> +Signed-off-by: Ludwig Rydberg <ludwig.rydberg@gaisler.com> +Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> +(cherry picked from commit 578190b7e43305141512dee777e4a3b3e8159393) +--- + sysdeps/sparc/sparc32/memset.S | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sysdeps/sparc/sparc32/memset.S b/sysdeps/sparc/sparc32/memset.S +index ca29ff5685..1dc3a640e8 100644 +--- a/sysdeps/sparc/sparc32/memset.S ++++ b/sysdeps/sparc/sparc32/memset.S +@@ -55,7 +55,7 @@ ENTRY(memset) + + andcc %o0, 3, %o2 + bne 3f +-4: andcc %o0, 4, %g0 ++5: andcc %o0, 4, %g0 + + be 2f + mov %g3, %g2 +@@ -139,7 +139,7 @@ ENTRY(memset) + stb %g3, [%o0 + 0x02] + 2: sub %o2, 4, %o2 + add %o1, %o2, %o1 +- b 4b ++ b 5b + sub %o0, %o2, %o0 + END(memset) + libc_hidden_builtin_def (memset) +-- +2.33.0 + |