On 201106 2104, liqiuhao727 wrote: > Hi, > > I am a newbie to QEMU and trying to build the virtual-device fuzzer > according to qemu/docs/devel/fuzzing.txt, which says: > > --- > Configure with (substitute the clang binaries with the version you > installed). > ... > CC=clang-8 CXX=clang++-8 /path/to/configure --enable-fuzzing \ > --enable-sanitizers > Fuzz targets are built similarly to system/softmmu:
Ah, these instructions went out of date when QEMU switched to meson. I'll send a patch to update them. > make i386-softmmu/fuzz > This builds ./i386-softmmu/qemu-fuzz-i386 This should be: make qemu-fuzz-i386 It looks like you are running these commands from the root qemu directory, so the resulting binary should be ./build/qemu-fuzz-i386 There are a couple fixes to the fuzzers that should be applied soon, so it might be a good idea to grab updated sources soon. They are part of this pull-req: https://lists.gnu.org/archive/html/qemu-devel/2020-11/msg01142.html -Alex > --- > > But when I did this on my Ubuntu 20.04 x86-64 with qemu-5.2.0-rc0 > release code, the make complained it could not find the target: > > --- > root@iZj6canc2b2vgdozetp9foZ:~/qemu# CC=clang-10 CXX=clang++-10 > ./configure --enable-fuzzing --enable-sanitizers > configure.log > root@iZj6canc2b2vgdozetp9foZ:~/qemu# make i386-softmmu/fuzz > changing dir to build for make "i386-softmmu/fuzz"... > make[1]: Entering directory '/root/qemu/build' > /usr/bin/ninja build.ninja && touch build.ninja.stamp > ninja: no work to do. > /usr/bin/python3 -B /root/qemu/meson/meson.py introspect --targets -- > tests --benchmarks | /usr/bin/python3 -B scripts/mtest2make.py > > Makefile.mtest > make[1]: *** No rule to make target 'i386-softmmu/fuzz'. Stop. > make[1]: Leaving directory '/root/qemu/build' > make: *** [GNUmakefile:11: i386-softmmu/fuzz] Error 2 > --- > > Did I missed something or misunderstood the instructions? > Thanks.