[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.
https://reviews.llvm.org/D38904
Files:
runtime/CMakeLists.txt
Index: runtime/CMakeLists.txt
===================================================================
--- runtime/CMakeLists.txt
+++ runtime/CMakeLists.txt
@@ -109,7 +109,7 @@
USES_TERMINAL)
# 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)
foreach(runtime ${COMPILER_RT_RUNTIMES})
get_ext_project_build_command(build_runtime_cmd ${runtime})
add_custom_target(${runtime}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38904.118977.patch
Type: text/x-patch
Size: 613 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171013/a50b5543/attachment.bin>
More information about the cfe-commits
mailing list