[PATCH] fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
Russell King - ARM Linux
linux at arm.linux.org.uk
Sat Jul 31 08:31:42 EDT 2010
On Sat, Jul 31, 2010 at 02:08:27PM +0200, Uwe Kleine-König wrote:
> On Sat, Jul 31, 2010 at 10:04:45AM +0100, Russell King - ARM Linux wrote:
> > It doesn't matter. The point is that you deleted an entry from the
> > table which the ldmia/ldmia+ldr loads from and didn't adjust the
> > resulting code properly.
> Yes, got that.
> >
> > - ARM( ldmia r0, {r1, r2, r3, r5, r6, r11, ip, sp})
> > + ARM( ldmia r0, {r1, r2, r3, r5, r6, r11, ip})
> > THUMB( ldmia r0, {r1, r2, r3, r5, r6, r11, ip} )
> > - THUMB( ldr sp, [r0, #32] )
> > + ldr sp, [r0, #28]
> We can simpify this further to just
>
> @ Thumb code doesn't allow sp to be in the list, for ARM it's
> @ deprecated, so use a seperate ldr for it.
> ldmia r0, {r1, r2, r3, r5, r6, r11, ip}
> ldr sp, [r0, #32]
No, you mean #28.
More information about the linux-arm-kernel
mailing list