[llvm-dev] moving libfuzzer to compiler-rt?

George Karpenkov via llvm-dev llvm-dev at lists.llvm.org
Tue May 2 12:26:35 PDT 2017


Hi All,

Currently libfuzzer depends on (often freshly built) clang, yet the dependency is not explicitly specified
in cmake.
That leads to various issues: for instance, it’s not possible to check out LLVM repo and run libfuzzer
tests: one would often need to compile fresh clang first, and then create a separate build directory,
where libfuzzer could be tested.
For the buildbot this problem is approached by grabbing a freshly built binary from another buildbot
and using that for testing.

Needless to say, that could be quite annoying.
Additionally, my recent changes start using libfuzzer from Clang driver: and finding the actual archive file
requires some hardcoding of directory paths, as one would need to go up the tree from the Clang binary
(in swift, for example, the situation is even worse, as the path to Clang is a symlink, and getting an archive file
from the LLVM tree would require going quite a few levels up).

From my understanding, all these problems can be solved entirely
by moving libfuzzer to compiler-rt, where (other) sanitizers already reside.

Any thoughts on the suggestion?

It would be still possible to compile just libfuzzer with no dependencies, by simply making a partial checkout from SVN,
and only the repo path would change.

George


More information about the llvm-dev mailing list