From 5b589c54922eaffe0feb9300b328445db965df8c Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 8 Jul 2014 19:40:44 -0400 Subject: [PATCH] fix typo in microblaze setjmp asm r24 was wrongly being saved at a misaligned offset of 30 rather than the correct offset of 40 in the jmp_buf. the exact effects of this error have not been studied, but it's clear that the value of r24 was lost across setjmp/longjmp and the saved values of r21 and/or r22 may also have been corrupted. (cherry picked from commit 729673689c3e78803ddfdac2ca6be5a5b80e124a) --- src/setjmp/microblaze/setjmp.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/setjmp/microblaze/setjmp.s b/src/setjmp/microblaze/setjmp.s index f39468a5..40afcc0d 100644 --- a/src/setjmp/microblaze/setjmp.s +++ b/src/setjmp/microblaze/setjmp.s @@ -17,7 +17,7 @@ setjmp: swi r21, r5, 28 swi r22, r5, 32 swi r23, r5, 36 - swi r24, r5, 30 + swi r24, r5, 40 swi r25, r5, 44 swi r26, r5, 48 swi r27, r5, 52 -- 2.25.1