https://bugs.winehq.org/show_bug.cgi?id=49191
--- Comment #3 from Austin English austinenglish@gmail.com --- Yeah, failing device is a raspberry pi 2b: pi@raspberrypi:~ $ cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 57.60 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 ... Hardware : BCM2835 Revision : a21041 Serial : 00000000a4ec119c Model : Raspberry Pi 2 Model B Rev 1.1
pi@raspberrypi:~ $ gcc -march=armv6 -dM -E - < /dev/null | grep __GCC_HAVE_SYNC_COMPARE_AND_SWAP #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
pi@raspberrypi:~ $ gcc -march=armv6k -dM -E - < /dev/null | grep __GCC_HAVE_SYNC_COMPARE_AND_SWAP #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
working device is a chromebook c201p, using PrawnOS (debian buster with no non-free components). gcc -v shows `--with-arch=armv7-a`.
I take it the solution is to build a custom gcc/clang with a different default arch? And to have a configure check to enforce that?