Bug#840458: linbox: FTBFS on i386: illegal instruction in test-{cra, charpoly}

Tobias Hansen thansen at debian.org
Tue Nov 29 18:01:59 UTC 2016


On 11/29/2016 03:53 PM, Doug Torrance wrote:
> Control: reassign -1 src:givaro
> 
> On 11/29/2016 09:58 AM, Tobias Hansen wrote:
>> I think I figured out at least the test failures with "Illegal
>> instruction" on i386. The problem is that givaro is built using cpu
>> extensions that are not allowed.
>>
>> Jerome figured out in [1] that the problem happens when givaro code is
>> called. And sure enough:
>>
>> objdump -S /usr/lib/i386-linux-gnu/libgivaro.so.9.0.0 | grep
>> '\b\(ymm\|zmm\|vfm\)'
>>     15411:    c4 e3 79 6b 8b a4 29     vfmaddsd
>> %xmm2,-0x1d65c(%ebx),%xmm0,%xmm1
>>     154d1:    c4 e3 69 6b 8b ac 29     vfmaddsd
>> %xmm0,-0x1d654(%ebx),%xmm2,%xmm1
>>
>> And in the i386 build logs for givaro there are these flags:
>> -mmmx -mpopcnt -msse -msse2 -msse3 -msse4.1 -msse4.2 -msse4a -mavx
>> -mfma4 -mfpmath=sse
>>
>> Do you have time in the next days to disable these flags? Otherwise I
>> can do it. (I'm not sure if some of these flags (mmx, sse ?) are allowed
>> on i386 and didn't find that info. Ximin, do you know this?)
> 
> Sure, I can take a look.  I think it should be a simple --disable-simd
> in d/rules (we did the same in fflas-ffpack).
> 
> Doug

Thanks! I tried building it but now there seems to be an issue similar
to [1]:

FAIL: test-ringarith
====================

997167681959697!=997167682008849 failed (at line 123)
x y failed !
MEDmax failed !
FAIL test-ringarith (exit status: 255)

And it even fails when setting the flag -ffp-contract=off .
Note that now the failure seems to be related to ModularExtended<double>
instead of ModularExtended<float> (MEDmax instead of MEFmax in the error
message).

Best,
Tobias

[1] https://github.com/linbox-team/givaro/issues/25



More information about the debian-science-maintainers mailing list