id = 1934 title = "Build failure on s390x with Clang 17 due to int128 alignment used in `__sync_` operations" state = "closed" created_at = "2023-10-13T07:22:59.508Z" closed_at = "2023-11-13T09:39:18.550Z" labels = ["Build System", "host: s390", "workflow::Patch available"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1934" host-os = "n/a" host-arch = "n/a" qemu-version = "n/a" guest-os = "n/a" guest-arch = "n/a" description = """We experienced this downstream, but filing this here since the code still seems to be the same in git. https://reviews.llvm.org/D143813 introduced this warning since, according to the description, `__int128` needs to be 8-byte aligned on s390 but the code in `host/include/generic/host/atomic128-ldst.h` unconditionally uses 16-byte alignment. The output is: ``` In file included from ../accel/tcg/cputlb.c:32: In file included from /builddir/build/BUILD/qemu-8.1.0/include/exec/helper-proto-common.h:10: In file included from /builddir/build/BUILD/qemu-8.1.0/include/qemu/atomic128.h:62: /builddir/build/BUILD/qemu-8.1.0/host/include/generic/host/atomic128-ldst.h:68:15: error: __sync builtin operation MUST have natural alignment (consider using __atomic). [-Werror,-Wsync-alignment] 68 | } while (!__sync_bool_compare_and_swap_16(ptr_align, old, new.i)); | ^ In file included from ../accel/tcg/cputlb.c:32: In file included from /builddir/build/BUILD/qemu-8.1.0/include/exec/helper-proto-common.h:10: In file included from /builddir/build/BUILD/qemu-8.1.0/include/qemu/atomic128.h:61: /builddir/build/BUILD/qemu-8.1.0/host/include/generic/host/atomic128-cas.h:36:11: error: __sync builtin operation MUST have natural alignment (consider using __atomic). [-Werror,-Wsync-alignment] 36 | r.i = __sync_val_compare_and_swap_16(ptr_align, c.i, n.i); | ^ 2 errors generated. ```""" reproduce = "n/a" additional = "n/a"