Re: Build regressions/improvements in v3.4-rc7
From: Kasatkin, Dmitry <hidden>
Date: 2012-05-16 15:59:37
Also in:
lkml
On Wed, May 16, 2012 at 5:46 PM, James Bottomley [off-list ref] wrote:
On Wed, 2012-05-16 at 10:47 +0200, Geert Uytterhoeven wrote:quoted
On Wed, May 16, 2012 at 10:30 AM, Geert Uytterhoeven [off-list ref] wrote: =C2=A0 + lib/mpi/generic_mpih-mul1.c: error: inconsistent operand constraints in an 'asm': =C2=A0=3D> 50:70 =C2=A0 + lib/mpi/generic_mpih-mul2.c: error: inconsistent operand constraints in an 'asm': =C2=A0=3D> 49:70 =C2=A0 + lib/mpi/generic_mpih-mul3.c: error: inconsistent operand constraints in an 'asm': =C2=A0=3D> 49:70 =C2=A0 + lib/mpi/mpih-div.c: error: inconsistent operand constraints in =
an
quoted
'asm': =C2=A0=3D> 135:122, 135:371, 97:122, 106:121, 106:370, 97:371 parisc-allmodconfigWow, lib/mpi/ is a complete horror: it's full of hand crafted asm code. The error in this case appears to be that umul_ppm() is implemented as an xmpyu instruction. =C2=A0That's a floating point instruction. =C2=A0We deliberately compile the kernel with floating point disabled because we don't want to save and restore the floating point register file on each context switch, hence the operand constraints are unsatisfiable. It appears to be completely untested on non-x86 and to have been imported via the security tree ... what are we supposed to do with this? I thought the general principle was that asm code was really supposed to be confined to the arch directories? James
Yes.. it is suxx. But it is only longlong.h and inherited from gpg.. And now there is a stuff such as /include/math-emu/soft-fp and <stdlib/longlong.h> I planned to look to that but now I will start doing it right away. - Dmitry