CPSR changes to ARM binutils in the mainline...
Scott Bambrough
scottb@netwinder.org
Fri May 26 06:37:00 GMT 2000
Nick,
Hi Nick. I backported the changes you made to to support the new style MSR
field masks (cpsr_c et al) to the 2.10 branch. The first thing that happened is
the Linux kernel will not compile. It seems the kernel uses `msr CPSR_c, #I_BIT
| MODE_SVC` all over the place. The branch accepts this a legal instruction,
while the mainline generates an error.
The mainline is correct. The ARM Architecture Reference states in note 1 that
the immediate form can only be used to set the flag bits. The results are
unpredictable with the other fields, although it seems to work. However, I
think your patch should go into the branch for consistency. I don't think it is
a good idea for the branch and the mainline to have different behaviour here,
particularly when we are just about to release.
What do you think?
Scott
--
Scott Bambrough - Software Engineer
REBEL.COM http://www.rebel.com
NetWinder http://www.netwinder.org
More information about the Binutils
mailing list