Il lun 24 ago 2020, 00:58 Alexander Bulekov <
alxndr@bu.edu> ha scritto:
Hi Paolo,
Our oss-fuzz builds started failing, after the meson merge. I think I
tracked down the issues:
1.) Looking at the build-log here:
https://oss-fuzz-build-logs.storage.googleapis.com/log-d43d402c-1ce5-4422-b3db-ccbf83a862a0.txt
The error happens at link-time. Re-running the build with V=1:
"/usr/bin/ld" ...
--whole-archive /usr/local/lib/clang/12.0.0/.../libclang_rt.asan-x86_64.a \
--start-group ..... -T /src/qemu/tests/qtest/fuzz/fork_fuzz.ld \
-wrap qtest_inb -wrap qtest_inw ..... --end-group .....
I think you can put everything into a response for and include it with @fuzz.cmd in the command line.
2.) 77afc75f69 ("oss-fuzz/build: remove LIB_FUZZING_ENGINE")
On oss-fuzz, we cannot explicitly specify fsanitize=fuzzer: We have to
leverage the $CC $CXX $CFLAGS $CXXFLAGS $LIB_FUZZING_ENGINE from
oss-fuzz. That was the reason for the "make CONFIG_FUZZ CFLAGS" trickery
in the original build script.
Details:
https://google.github.io/oss-fuzz/getting-started/new-project-guide/#Requirements
To work around this, I think we can create separate configure options
--enable-oss-fuzz and --oss-fuzz-cflags and CONFIG_OSS_FUZZ. In meson we
create a new "source-set" specific_oss_fuzz_ss which is identical to
specific_fuzz_ss, except it does not depend on "-fsanitize=fuzzer",
which is specified in tests/qtest/fuzz/meson.build
I've been working on patches to do (2)
Great, I can review them. Should you use $LIB_FUZZING_ENGINE directly instead of a separate command line option?
Paolo