abi: "eabi".into(),
// The ARMv6-M architecture doesn't support unaligned loads/stores so we disable them
// with +strict-align.
- features: "+strict-align".into(),
- // There are no atomic instructions available in the instruction set of the ARMv6-M
+ // Also force-enable 32-bit atomics, which allows the use of atomic load/store only.
+ // The resulting atomics are ABI incompatible with atomics backed by libatomic.
+ features: "+strict-align,+atomics-32".into(),
+ // There are no atomic CAS instructions available in the instruction set of the ARMv6-M
// architecture
- max_atomic_width: Some(0),
atomic_cas: false,
..super::thumb_base::opts()
},