qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: clang build error on i686


From: Peter Maydell
Subject: Re: clang build error on i686
Date: Sat, 3 Jul 2021 18:45:03 +0100

On Sat, 3 Jul 2021 at 15:37, Cole Robinson <crobinso@redhat.com> wrote:
>
> Hi, I'm hitting build errors with clang on i686 userspace on x86_64
> kernel. Affects both qemu 6.0.0 and qemu.git, tested with fedora
> clang-12.0.1~rc3-1.fc35.i686.
>
> Full build log from the 6.0.0 build:
> https://gist.githubusercontent.com/crobinso/7b1206044eac7326490b2adce829e861/raw/9dddef968051fd6383ba7adb9e595081ad4f8fa4/gistfile1.txt
>
> Lots of errors like:
>
> /usr/bin/ld: libqemu-aarch64-softmmu.fa.p/accel_tcg_cputlb.c.o: in
> function `helper_atomic_cmpxchgq_le_mmu':
> /builddir/build/BUILD/qemu-6.0.0/accel/tcg/atomic_template.h:86:
> undefined reference to `__atomic_compare_exchange_8'
> /usr/bin/ld: libqemu-aarch64-softmmu.fa.p/accel_tcg_cputlb.c.o: in
> function `helper_atomic_xchgq_le_mmu':
> /builddir/build/BUILD/qemu-6.0.0/accel/tcg/atomic_template.h:134:
> undefined reference to `__atomic_exchange_8'
>
> Also warnings like:
>
> /builddir/build/BUILD/qemu-6.0.0/include/qemu/stats64.h:58:21: warning:
> misaligned atomic operation may incur significant performance penalty;
> the expected alignment (8 bytes) exceeds the actual alignment (4 bytes)
> [-Watomic-alignment]
>     uint64_t orig = qatomic_read__nocheck(&s->value);
>                     ^
> /builddir/build/BUILD/qemu-6.0.0/include/qemu/atomic.h:129:5: note:
> expanded from macro 'qatomic_read__nocheck'
>     __atomic_load_n(ptr, __ATOMIC_RELAXED)

I think at least part of what is happening here is that this compiler/host
doesn't support native 64-bit atomics, but configure has selected
CONFIG_ATOMIC64 anyway. I've cc'd Paolo and Richard who 'git blame'
suggests have touched the configure test and the stats64.h code in the past.

(The compiler provides fallbacks in libatomic for the 64-bit atomics,
but we deliberately do not link against libatomic because we do not
want to use them.)

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]