fix typo in microblaze setjmp asm
authorRich Felker <dalias@aerifal.cx>
Tue, 8 Jul 2014 23:40:44 +0000 (19:40 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 8 Jul 2014 23:40:44 +0000 (19:40 -0400)
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.

src/setjmp/microblaze/setjmp.s

index f39468a..40afcc0 100644 (file)
@@ -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