Using clang-7 (Debian) on x86_64 to build v3.0.0-rc1. Not a regression, it was probably always there:
$ ./configure --cc=clang-7 && make hw/display/qxl.o hw/display/qxl.c:1884:19: error: misaligned or large atomic operation may incur significant performance penalty [-Werror,-Watomic-alignment] old_pending = atomic_fetch_or(&d->ram->int_pending, le_events); ^ include/qemu/atomic.h:206:34: note: expanded from macro 'atomic_fetch_or' #define atomic_fetch_or(ptr, n) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST) ^ 1 error generated. static void qxl_send_events(PCIQXLDevice *d, uint32_t events) { uint32_t old_pending; uint32_t le_events = cpu_to_le32(events); ... old_pending = atomic_fetch_or(&d->ram->int_pending, le_events); if ((old_pending & le_events) == le_events) { return; } ... } Having: typedef struct PCIQXLDevice { QXLRam *ram; ... } PCIQXLDevice; And from <spice/qxl_dev.h>: typedef struct SPICE_ATTR_PACKED QXLRam { uint32_t magic; uint32_t int_pending; uint32_t int_mask; uint8_t log_buf[QXL_LOG_BUF_SIZE]; ... } QXLRam; Any idea how this could get fixed? Thanks Phil.