I'm testing an Uber lib, for geo indexing, that performs
thousands of geospatial calculations... during the tests, when
compiling the project, I received an illegal instruction error for
absolute all the testes..., after some investigations, I
identified that the failure occurred in the __atan2
C [libm.so.6+0x402e8] __atan2_finite+0xfff92ac0
Here they are, the related issues in the respective projects:
* https://github.com/uber/h3/issues/769
* https://github.com/uber/h3-java/issues/133
At now, I'm testing on QEMU with last Debian Port image:
Also, I did the same test on IBM Power5 - 9111-520 and on Power
Mac G5, the same error happens :/
$ uname -a
Linux debian 6.1.0-9-powerpc64 #1 SMP Debian 6.1.27-1 (2023-05-08) ppc64 GNU/Linux
$ lscpu
Architecture: ppc64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Big Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Model name: POWER7 (architected), altivec supported
Model: 2.1 (pvr 004a 0201)
Thread(s) per core: 1
Core(s) per socket: 12
Socket(s): 1
Virtualization features:
Hypervisor vendor: KVM
Virtualization type: para
Caches (sum of all):
L1d: 384 KiB (12 instances)
L1i: 384 KiB (12 instances)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-11
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Mitigation; RFI Flush
Mds: Not affected
Meltdown: Mitigation; RFI Flush
Mmio stale data: Not affected
Retbleed: Not affected
Spec store bypass: Mitigation; Kernel entry/exit barrier (fallback)
Spectre v1: Mitigation; __user pointer sanitization, ori31 speculat
ion barrier enabled
Spectre v2: Mitigation; Software count cache flush (hardware accele
rated), Software link stack flush
Srbds: Not affected
Tsx async abort: Not affected