diff options
authorRich Felker <>2014-07-08 19:40:44 -0400
committerRich Felker <>2014-07-28 00:27:59 -0400
commit5b589c54922eaffe0feb9300b328445db965df8c (patch)
parent4de2f79aea491e00e6f7a33e7ab700ecd615d622 (diff)
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)
1 files changed, 1 insertions, 1 deletions
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