[PATCH] fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Sat Jul 31 08:50:09 EDT 2010
On Sat, Jul 31, 2010 at 01:31:42PM +0100, Russell King - ARM Linux wrote:
> 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.
oops, yes of course.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the linux-arm-kernel
mailing list