CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: ARM
Model name: Neoverse-N1
Model: 1
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Stepping: r3p1
BogoMIPS: 50.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Mitigation; CSV2, BHB
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; __user pointer sanitization
Spectre v2: Mitigation; CSV2, BHB
Srbds: Not affected
Tsx async abort: Not affected
with RHEL9 (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3.0.1), binutils 2.35.2
Is there any more useful output to provide?
Note: This exact CPU can be used on Oracle Cloud free of charge (only some cpu-hours per month, but plenty enough to possibly debug whatever you like),
The key here will be tracking down the execution of this STREX instruction. You could try using objdump to disassemble every single binary in the trace and search for STREX.
Here's a partial test run and its verbose output:
on CPU: 3.0 GHz Ampere® Altra™
with RHEL9 (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3.0.1), binutils 2.35.2
Is there any more useful output to provide?
Note: This exact CPU can be used on Oracle Cloud free of charge (only some cpu-hours per month, but plenty enough to possibly debug whatever you like),