mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-15 07:39:31 +00:00
22b310e67c
The original `ExecuteCommand()` called `system()` from the C library. The C library implementation of this on macOS contains a mutex which serializes calls to `system()`. This prevented the `-jobs=` flag from running copies of the fuzzing binary in parallel which is the opposite of what is intended. To fix this on macOS an alternative implementation of `ExecuteCommand()` is provided that can be used concurrently. This is provided in `FuzzerUtilDarwin.cpp` which is guarded to only compile code on Apple platforms. The existing implementation has been moved to a new file `FuzzerUtilLinux.cpp` which is guarded to only compile code on Linux. This commit includes a simple test to check that LibFuzzer is being executed in parallel when requested. Differential Revision: https://reviews.llvm.org/D22742 llvm-svn: 278544 |
||
---|---|---|
.. | ||
afl | ||
test | ||
CMakeLists.txt | ||
cxx.dict | ||
FuzzerCrossOver.cpp | ||
FuzzerDFSan.h | ||
FuzzerDriver.cpp | ||
FuzzerExtFunctions.def | ||
FuzzerExtFunctions.h | ||
FuzzerExtFunctionsDlsym.cpp | ||
FuzzerExtFunctionsWeak.cpp | ||
FuzzerFlags.def | ||
FuzzerFnAdapter.h | ||
FuzzerInterface.h | ||
FuzzerInternal.h | ||
FuzzerIO.cpp | ||
FuzzerLoop.cpp | ||
FuzzerMain.cpp | ||
FuzzerMutate.cpp | ||
FuzzerSHA1.cpp | ||
FuzzerTracePC.cpp | ||
FuzzerTracePC.h | ||
FuzzerTraceState.cpp | ||
FuzzerUtil.cpp | ||
FuzzerUtilDarwin.cpp | ||
FuzzerUtilLinux.cpp | ||
README.txt |
Move to http://llvm.org/docs/LibFuzzer.html