[PATCH] ARM: makefile: work around toolchain bug in recent versions of binutils

Will Deacon will.deacon at arm.com
Thu Aug 2 11:51:41 EDT 2012


On Thu, Aug 02, 2012 at 04:30:30PM +0100, Russell King - ARM Linux wrote:
> On Thu, Aug 02, 2012 at 04:01:23PM +0100, Will Deacon wrote:
> > On Thu, Aug 02, 2012 at 02:04:11PM +0100, Russell King - ARM Linux wrote:
> > > Maybe this needs to be a build-time test whether the assembler accepts it?
> > 
> > That could be tricky since gas still accepts the option, but fails later
> > with:
> > 
> > arch/arm/boot/compressed/head.S: Assembler messages:
> > arch/arm/boot/compressed/head.S:127: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
> > arch/arm/boot/compressed/head.S:134: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
> > arch/arm/boot/compressed/head.S:136: Error: selected processor does not support requested special purpose register -- `msr cpsr_c,r2'
> > 
> > How about grabbing the march from KBUILD_AFLAGS instead (see below)?
> 
> It might just be easier to specify something like -march=armv4 or
> something like that, and then use .arch armv6 where required.

We could do that, but I worry that it will become very messy if/when people
start adding things like virtualisation instructions (hvc and co) to the
entry code. Using the same march flag for kernel and decompressor also keeps
everything consistent.

Will



More information about the linux-arm-kernel mailing list