google / fuzzbench

FuzzBench - Fuzzer benchmarking as a service.
https://google.github.io/fuzzbench/
Apache License 2.0
1.1k stars 269 forks source link

vorbis integration with KLEE #497

Open laurentsimon opened 4 years ago

laurentsimon commented 4 years ago

vorbis benchmark properly compiles for KLEE.

Running it throws LLVM ERROR: Code generator does not support intrinsic function 'llvm.rint.f64'!, because floating points are not handled by KLEE.

Info about llvm.rint.f64: see https://llvm.org/docs/LangRef.html#llvm-rint-intrinsic

Not sure what the best option is:

  1. Look at klee-float for inspiration?
  2. Add an intrinsic to IntrinsicCleaner.cpp. useful links: klee:issue:1091 and klee:issue:1154
laurentsimon commented 4 years ago

Note: libpng benchmark also shows silently concretizing (reason: floating point)

inferno-chromium commented 4 years ago

Part of #706