$8 and $19 were both stored to 9*8($sp), so $19 overwrote $8's saved
value and the interrupted context got $19's value back in $8.

Store $8 at 8*8($sp) instead, matching its .cfi_rel_offset.

Signed-off-by: Matt Turner <[email protected]>
---
 console-low.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/console-low.S b/console-low.S
index 1f61cbc..83adb2a 100644
--- a/console-low.S
+++ b/console-low.S
@@ -46,7 +46,7 @@ entInt:
        stq     $5, 5*8($sp)
        stq     $6, 6*8($sp)
        stq     $7, 7*8($sp)
-       stq     $8, 9*8($sp)
+       stq     $8, 8*8($sp)
        stq     $19, 9*8($sp)
        stq     $20, 10*8($sp)
        stq     $21, 11*8($sp)
@@ -87,7 +87,7 @@ entInt:
        ldq     $5, 5*8($sp)
        ldq     $6, 6*8($sp)
        ldq     $7, 7*8($sp)
-       ldq     $8, 9*8($sp)
+       ldq     $8, 8*8($sp)
        ldq     $19, 9*8($sp)
        ldq     $20, 10*8($sp)
        ldq     $21, 11*8($sp)
-- 
2.54.0


Reply via email to