diff options
author | Rich Felker <dalias@aerifal.cx> | 2023-02-11 09:43:29 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2023-02-11 10:00:31 -0500 |
commit | 115149c023485a69f5bff05efd5339c0c5f77798 (patch) | |
tree | d1d52c502c7696fc68c8e5a6cfb9817b2ec10dec | |
parent | 5763f003a53ddaa63655058f19d9fe662751592d (diff) | |
download | musl-115149c023485a69f5bff05efd5339c0c5f77798.tar.gz 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.
-rw-r--r-- | src/setjmp/powerpc/longjmp.S | 8 |
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 /* ... */ |