[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
compile failure in cputlb.c when building with clang sanitizer
|
From: |
Peter Maydell |
|
Subject: |
compile failure in cputlb.c when building with clang sanitizer |
|
Date: |
Tue, 8 Mar 2022 15:35:01 +0000 |
If you build on Ubuntu with
'../../configure' '--cc=clang' '--cxx=clang++' '--enable-sanitizers'
'--enable-debug' '--extra-cflags=-O1 -fno-omit-frame-pointer
-fno-optimize-sibling-calls'
(which is something like what the clang documentation recommends)
then you get a compile error in cputlb.c:
/usr/bin/ld:
/usr/lib/llvm-10/lib/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o):
warning: common of `__interception::real_vfork' overridden by
definition from
/usr/lib/llvm-10/lib/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
/usr/bin/ld: libqemu-aarch64-softmmu.fa.p/accel_tcg_cputlb.c.o: in
function `load_memop':
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/san/../../accel/tcg/cputlb.c:1902:
undefined reference to `qemu_build_not_reached_always'
/usr/bin/ld: libqemu-aarch64-softmmu.fa.p/accel_tcg_cputlb.c.o: in
function `store_memop':
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/san/../../accel/tcg/cputlb.c:2228:
undefined reference to `qemu_build_not_reached_always'
/usr/bin/ld: libqemu-aarch64-softmmu.fa.p/accel_tcg_cputlb.c.o: in
function `load_memop':
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/san/../../accel/tcg/cputlb.c:1902:
undefined reference to `qemu_build_not_reached_always'
It looks like somebody's encountered this before, because
scripts/oss-fuzz/build.sh contains a hacky wokraround for it
involving undefining __OPTIMIZE__.
How can we deal with this in a way that works for everybody
compiling QEMU ? I guess we could just drop the
qemu_build_not_reached() lines...
thanks
-- PMM
- compile failure in cputlb.c when building with clang sanitizer,
Peter Maydell <=