Ximin Luo: > John Paul Adrian Glaubitz: >> On 11/15/2017 07:16 PM, Tixy wrote: >>> On Wed, 2017-11-15 at 18:53 +0100, John Paul Adrian Glaubitz wrote: >>>> As for the atomics: What strikes me odd is that upstream claims that >>>> ARMv6 is supported. But to my current knowledge, proper atomics were >>>> only introduced with ARMv7. >>> >>> ARMv6 has 32-bit atomics (LDREX and STREX instructions), and ARMv6K adds >>> 8-, 16-, and 64-bit versions. >> >> Ah, I guess my memory is wrong then. Were there any changes regarding >> atomics in ARMv7 or was it just NEON that was introduced with ARMv7? >> > > Adrian Bunk (added to CC) has recently been trying to do a armel port: > > <bunk> For buster armv5te_unknown_linux_gnueabi.rs seems to match the > baseline. > [..] > <bunk> infinity0: hits some armv6 assembler in compiler-rt, haven't yet look > deeper into that issue >
By the way, I got all my information from this thread: https://github.com/rust-lang/rust/issues/35590 Specifically this comment: https://github.com/rust-lang/rust/issues/35590#issuecomment-240900710 "ARMv4 is tricky. It's possible to get atomic support working for it, but only on Linux. You'd need to use the kernel user helpers to implement various __sync_* functions that are going to be emitted by LLVM." I haven't verified any of this myself, but he sounds like he knows what he's talking about and I've seen him porting other stuff to GCC in #gcc etc. I'm also not sure what the ARMv5 situation is, if buster is going to be upgraded to that. Perhaps bunk has more details. X -- GPG: ed25519/56034877E1F87C35 GPG: rsa4096/1318EFAC5FBBDBCE https://github.com/infinity0/pubkeys.git