I'm building a bare metal project on an ARMv6, i.e. with #![no_std]
and core
only. Regarding documentation, core
depends the unwind function and men*
only. However, if I use an atomic type I get a linker error for missing __sync_lock_test_and_set_4
and other similar functions. I've learned that llvm calls these functions in case a platform does not have a cmpxchg
-like instruction, see here. However, ARMv6 has such an instruction.
Is there any way I can trigger Rust to tell llvm not to issue such a call?
If not, is there any way to convince Rust to provide these functions? Maybe by means of the architecture JSON?