chao an
ab51eae836
libmetal/atomic: enable 64-bit atomic by toolchain builtin flags
Fix compile error:
arm-none-eabi-ld: (remoteproc_virtio.o): in function `metal_io_read':
metal/io.h:252: undefined reference to `__atomic_load_8'
arm-none-eabi-ld: (remoteproc_virtio.o): in function `metal_io_write':
metal/io.h:290: undefined reference to `__atomic_store_8'
Not all 32-bit architectures support 64bit atomic, gcc/clang
toolchains have built-in properties to indicate whether support atomic64:
| $ arm-none-eabi-gcc -march=armv7e-m -dM -E - < /dev/null | grep SYNC
| #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
Signed-off-by: chao an <anchao@lixiang.com>
2024-06-29 22:38:48 +08:00
..
2024-06-26 00:22:03 +08:00
2023-09-20 00:42:02 +08:00
2023-11-17 09:42:52 +01:00
2024-02-12 17:06:33 +01:00
2024-06-29 22:38:48 +08:00
2023-05-20 21:51:24 +08:00
2023-05-20 21:51:24 +08:00
2023-05-27 18:51:04 +08:00
2023-12-13 05:00:59 -08:00
2023-07-15 23:32:36 +08:00
2023-12-28 11:08:57 +08:00
2024-06-29 22:38:48 +08:00
2024-06-29 22:38:48 +08:00
2024-06-26 00:22:03 +08:00
2023-12-13 05:00:59 -08:00