summaryrefslogtreecommitdiff
path: root/src/setjmp
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2023-02-11 09:43:29 -0500
committerRich Felker <dalias@aerifal.cx>2023-02-11 10:00:31 -0500
commit115149c023485a69f5bff05efd5339c0c5f77798 (patch)
treed1d52c502c7696fc68c8e5a6cfb9817b2ec10dec /src/setjmp
parent5763f003a53ddaa63655058f19d9fe662751592d (diff)
downloadmusl-115149c023485a69f5bff05efd5339c0c5f77798.tar.gz
musl-115149c023485a69f5bff05efd5339c0c5f77798.tar.bz2
musl-115149c023485a69f5bff05efd5339c0c5f77798.tar.xz
musl-115149c023485a69f5bff05efd5339c0c5f77798.zip
powerpc-sf longjmp clobbering of val argument
the logic to check hwcap for SPE register file inadvertently clobbered the val argument before use. switch to a different work register so this doesn't happen.
Diffstat (limited to 'src/setjmp')
-rw-r--r--src/setjmp/powerpc/longjmp.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/setjmp/powerpc/longjmp.S b/src/setjmp/powerpc/longjmp.S
index 611389fe..465e4cd7 100644
--- a/src/setjmp/powerpc/longjmp.S
+++ b/src/setjmp/powerpc/longjmp.S
@@ -42,10 +42,10 @@ longjmp:
bl 1f
.hidden __hwcap
.long __hwcap-.
-1: mflr 4
- lwz 5, 0(4)
- lwzx 4, 4, 5
- andis. 4, 4, 0x80
+1: mflr 6
+ lwz 5, 0(6)
+ lwzx 6, 6, 5
+ andis. 6, 6, 0x80
beq 1f
.long 0x11c35b01 /* evldd 14,88(3) */
.long 0x11e36301 /* ... */