This includes support for statically linked plugins. It vastly increases
the test iteration speed, which is critical for fuzz testing.
Furthermore, it is necessary for coverage-driven fuzz testing to work at
This also provides a (manually compiled only) back-end for LLVM's
LibFuzzer using mostly the same code.
1) Debugging, regression testing or unguided fuzzing:
- Make a normal build (debug and sanitization recommended).
- Execute: "test/vlc-demux-run [demux name] <file path>"
2) American Fuzzy Lop run:
- Make a *static* build with AFL as the toolchain.
- (Where applicable) perform adequate religious luck granting
offerings or other rites.
- Run AFL with test/vlc-demux-run as the fuzzed executable.
- Make a preferrably static build with Clang as the toolchain.
- Manually build test/vlc-demux-libfuzzer.
- Run the executable with the LibFuzzer command line parameters syntax.