On Fri, Nov 7, 2014 at 12:05 PM, Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> wrote: >> +(mips1) `cfc1 $2,$31' >> make[1]: *** [arch/mips/math-emu/cp1emu.o] Error 1 >> make: *** [arch/mips/math-emu] Error 2 >> make: *** Waiting for unfinished jobs.... > > This is the offending code in cp1emu.c: > > if (is_fpu_owner()) > asm volatile( > ".set push\n" > "\t.set mips1\n" > "\tcfc1\t%0,$31\n" > "\t.set pop" : "=r" (fcr31)); > else > fcr31 = current->thread.fpu.fcr31; > preempt_enable(); > > > I'm not sure how this can have built with binutils 2.23 (as indicated by > Manuel and not built with 2.24). The reason this works with the latest > version of binutils 2.24.x is that cfc1 has been reclassified as not an > FPU instruction. > > This just needs the hardfloat annotation adding via the macro as in the > other cases. Oh I know how to fix it. However I'm unsure why I didn't run into this while testing. I've repeatedly built a cavium-octeon, malta and my alchemy defconfigs and never hit this. I'll send out a revised patch shortly. Thank you! Manuel