drivers/mtd/nand/orion_nand.c build failure with old ABI

Simon Kagstrom simon.kagstrom at netinsight.net
Thu Nov 12 02:53:03 EST 2009


On Wed, 11 Nov 2009 10:55:43 -0500 (EST)
Nicolas Pitre <nico at fluxnic.net> wrote:

> On Wed, 11 Nov 2009, Martin Michlmayr wrote:
> 
> > drivers/mtd/nand/orion_nand.c fails to build when EABI is not set:
> > 
> >   CC      drivers/mtd/nand/orion_nand.o
> > /tmp/ccDFyfwN.s: Assembler messages:
> > /tmp/ccDFyfwN.s:120: Error: first destination register must be even -- `ldrd r3,[ip]'
> > make[3]: *** [drivers/mtd/nand/orion_nand.o] Error 1
> > make[2]: *** [drivers/mtd/nand] Error 2
> 
> Grrrrr.  Let me think of a workaround.

Interesting problem. I looked in the GCC manual for a matching
constraint to satisfy this, but didn't find anything that seems to fit
right away. SPARC has the

    `U'      Even register

constraint, and perhaps it would be make good sense to have the same
for ARM. Not that it helps right the current situation, but anyway :-)

// Simon



More information about the linux-arm-kernel mailing list