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