[PATCH] fix cell spu setjmp
Jeff Johnston
jjohnstn@redhat.com
Thu Dec 14 20:49:00 GMT 2006
Patch checked in.
-- Jeff J.
jschopp wrote:
> Due to a typo in the original code, registers past 115 are handled
> incorrectly in setjmp. This was found through some artificial testing.
> Most programs don't use that many registers and won't be affected by the
> bug. Still, a bug is a bug. A patch which resolves this issue is
> attached.
>
> 2006-12-13 Joel Schopp <jschopp@austin.ibm.com>
> * spu/setjmp.S: fix to handle registers past 115 correctly
>
>
>
> ------------------------------------------------------------------------
>
> Index: newlib-1.14.0/newlib/libc/machine/spu/setjmp.S
> ===================================================================
> --- newlib-1.14.0.orig/newlib/libc/machine/spu/setjmp.S
> +++ newlib-1.14.0/newlib/libc/machine/spu/setjmp.S
> @@ -72,23 +72,23 @@ setjmp:
> stqd $112, 34*16($3)
> stqd $113, 35*16($3)
> stqd $114, 36*16($3)
> - stqd $115, 36*16($3)
> - stqd $116, 37*16($3)
> - stqd $117, 38*16($3)
> - stqd $118, 39*16($3)
> - stqd $119, 40*16($3)
> + stqd $115, 37*16($3)
> + stqd $116, 38*16($3)
> + stqd $117, 39*16($3)
> + stqd $118, 40*16($3)
> + stqd $119, 41*16($3)
>
> hbr setjmp_ret, $0
> lnop # pipe1 bubble added for instruction fetch
>
> - stqd $120, 41*16($3)
> - stqd $121, 42*16($3)
> - stqd $122, 43*16($3)
> - stqd $123, 44*16($3)
> - stqd $124, 45*16($3)
> - stqd $125, 46*16($3)
> - stqd $126, 47*16($3)
> - stqd $127, 48*16($3)
> + stqd $120, 42*16($3)
> + stqd $121, 43*16($3)
> + stqd $122, 44*16($3)
> + stqd $123, 45*16($3)
> + stqd $124, 46*16($3)
> + stqd $125, 47*16($3)
> + stqd $126, 48*16($3)
> + stqd $127, 49*16($3)
>
> stqd $0, 0*16($3)
> stqd $1, 1*16($3)
More information about the Newlib
mailing list