[PATCH] D38904: Allow building libFuzzer in two-stage compiler-rt build
George Karpenkov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 13 14:54:37 PDT 2017
george.karpenkov created this revision.
Herald added subscribers: mgorny, dberris.
When `LLVM_BUILD_EXTERNAL_COMPILER_RT` option is set to true,
all of projects in compiler-rt are built with a freshly-built compiler using
a recursive CMake invocation.
(e.g. that's how compiler-rt is used in Swift)
Just now I have noticed that `libFuzzer` binaries were missing in such a case,
and `ninja fuzzer` returned "no such target", while `ninja asan` worked just fine.
To my surprise, the list of allowed targets was actually hardcoded in Clang!
While the current setup is clearly suboptimal, for the lack of a better fix
I'm just adding `fuzzer` to a list of compiler-rt targets.
@@ -109,7 +109,7 @@
# Add top-level targets that build specific compiler-rt runtimes.
- set(COMPILER_RT_RUNTIMES asan builtins dfsan lsan msan profile tsan ubsan ubsan-minimal)
+ set(COMPILER_RT_RUNTIMES fuzzer asan builtins dfsan lsan msan profile tsan ubsan ubsan-minimal)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 613 bytes
Desc: not available
More information about the cfe-commits