Open Vedingrot opened 7 months ago
It used to work on i586. I can't remember if it always had SSE/SSE2 or could also run with x87 fp. S2 is very picky about rounding.
These failures look precision-related. You might try with -ffloat-store
. What does lscpu
say? Can you use use -msse
or -msse2
?
[ RUN ] S2LoopTestBase.GetRectBound
F0000 00:00:1706803242.415047 322031 s2loop.cc:200] Check failed: subregion_bound_.Contains(bound_)
[ RUN ] S1Angle.DegreesVsRadians
/usr/src/RPM/BUILD/libs2geometry-0.11.0/src/s2/s1angle_test.cc:190: Failure
Expected: (S1Angle::Degrees(3)) != (S1Angle::Radians(3.14159265358979323846 / 60)), actual: 3.0000000 vs 3.0000000
[ RUN ] S1IntervalTestBase.GetCenter
/usr/src/RPM/BUILD/libs2geometry-0.11.0/src/s2/s1interval_test.cc:128: Failure
Expected equality of these values:
quad12.GetCenter()
Which is: 1.5707963267948968
1.57079632679489661923
Which is: 1.5707963267948966
etc.
/usr/src/RPM/BUILD/libs2geometry-0.11.0/i586-alt-linux/...
Is this ALT Linux? Most distributions have dropped i586 and are talking about requiring x86-64-v3.
Neither -ffloat-store
nor -msse2
helps to fix tests.
I tried it in a qemu. lscpu output:
Architecture: i686
CPU op-mode(s): 32-bit
Address sizes: 36 bits physical, 32 bits virtual
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Vendor ID: GenuineIntel
Model name: QEMU Virtual CPU version 2.5+
CPU family: 6
Model: 6
Thread(s) per core: 1
Core(s) per socket: 8
Socket(s): 1
Stepping: 3
BogoMIPS: 3992.52
Flags: fpu de pse tsc msr pae mce cx8 apic sep pge cmov mmx fxsr sse sse2 ht cpuid pni hypervisor
L1d cache: 256 KiB (8 instances)
L1i cache: 256 KiB (8 instances)
L2 cache: 32 MiB (8 instances)
L3 cache: 16 MiB (1 instance)
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit: KVM: Mitigation: VMX unsupported
Vulnerability L1tf: Vulnerable
Vulnerability Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Meltdown: Vulnerable
Vulnerability Mmio stale data: Unknown: No mitigations
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
In ALT Linux, i586 is used mainly for wine, Steam and other consumers of 32-bit libraries. S2 is not needed in this form, but when you are trying to build a package, it is desirable that it works correctly under i586 too.
When I try to test on i586 it fails and looks like unsupported. Could you please take a look? LastTest.log