]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
sparc: Fix broken memset for sparc32 [BZ #31068]
authorAndreas Larsson <andreas@gaisler.com>
Wed, 15 Nov 2023 12:29:43 +0000 (13:29 +0100)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 1 Feb 2024 20:45:28 +0000 (17:45 -0300)
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

index b1b67cb2d109bca09d5a47037d66797d8ab92673..51542633171c4cb6dadd4d87dea7d1fa48a40156 100644 (file)
@@ -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)