[PATCH] fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"

Rabin Vincent rabin at rab.in
Fri Jul 30 19:44:09 EDT 2010


2010/7/31 Uwe Kleine-König <u.kleine-koenig at pengutronix.de>:
> On Sat, Jul 31, 2010 at 01:05:23AM +0530, Rabin Vincent wrote:
>> Fix it, and also change the ARM code to use the separate SP-load since
>> ARM instructions that include the SP in the LDM register list are
>> deprecated.
> I only found:
>
>        LDM{<cond>}<addressing_mode> <Rn>{!}, <registers>
>        ...
>        If the base register <Rn> is specified in <registers>, and base
>        register write-back is specified,
>        the final value of <Rn> is UNPREDICTABLE.
>
> Are you really sure about this?  Where do you know it from?

This is in section "A8.6.53 LDM / LDMIA / LDMFD" of the
ARM ARM (v7 edition):

  LDM<c><q> <Rn>{!}, <registers>

  <registers> The SP can be in the list in ARM code, but not
  in Thumb code. However, ARM instructions that include the
  SP in the list are deprecated.



More information about the linux-arm-kernel mailing list