llvm-capstone/compiler-rt/lib/fuzzer
Ryan Prichard 3747cde5e8
[Fuzzer] Enable custom libc++ for Android (#70407)
The Android LLVM build system builds the arm64 fuzzer lib without
HWASan, but then applications that enable HWASan can generated an object
file with a HWASan-ified version of some libc++ symbols (e.g.
`std::__1::piecewise_construct`). The linker can choose the HWASan-ified
definition, but then it cannot resolve the relocation from
libclang_rt.fuzzer-aarch64-android.a to this symbol because the high
bits of the address are unexpectedly set. This produces an error:

```
relocation R_AARCH64_ADR_PREL_PG_HI21 out of range
```

Fix this problem by linking a custom isolated libc++ into Android's
fuzzer library.

We need to pass through ANDROID_NATIVE_API_LEVEL so that the libc++ for
32-bit Android (API < 24) uses LLVM_FORCE_SMALLFILE_FOR_ANDROID.
2023-11-02 14:07:39 -07:00
..
afl
dataflow
scripts
standalone
tests
build.sh [Fuzzer] Update build.sh to fix build errors (#65496) 2023-09-07 16:38:28 -07:00
CMakeLists.txt [Fuzzer] Enable custom libc++ for Android (#70407) 2023-11-02 14:07:39 -07:00
FuzzerBuiltins.h
FuzzerBuiltinsMsvc.h
FuzzerCommand.h
FuzzerCorpus.h [Fuzzer] Optimize UpdateFeatureFrequency (#65288) 2023-09-07 16:51:05 -07:00
FuzzerCrossOver.cpp
FuzzerDataFlowTrace.cpp
FuzzerDataFlowTrace.h
FuzzerDefs.h
FuzzerDictionary.h
FuzzerDriver.cpp
FuzzerExtFunctions.def
FuzzerExtFunctions.h
FuzzerExtFunctionsDlsym.cpp
FuzzerExtFunctionsWeak.cpp
FuzzerExtFunctionsWindows.cpp
FuzzerExtraCounters.cpp
FuzzerExtraCountersDarwin.cpp
FuzzerExtraCountersWindows.cpp
FuzzerFlags.def [NFC][compiler-rt] Add missing space in libfuzzer -help docs 2023-07-28 09:59:32 +02:00
FuzzerFork.cpp
FuzzerFork.h
FuzzerInterceptors.cpp
FuzzerInterface.h
FuzzerInternal.h
FuzzerIO.cpp
FuzzerIO.h
FuzzerIOPosix.cpp
FuzzerIOWindows.cpp
FuzzerLoop.cpp [compiler-rt] Use std::clamp (NFC) 2023-10-22 12:32:20 -07:00
FuzzerMain.cpp
FuzzerMerge.cpp
FuzzerMerge.h
FuzzerMutate.cpp
FuzzerMutate.h
FuzzerOptions.h
FuzzerPlatform.h
FuzzerRandom.h
FuzzerSHA1.cpp
FuzzerSHA1.h
FuzzerTracePC.cpp
FuzzerTracePC.h
FuzzerUtil.cpp
FuzzerUtil.h
FuzzerUtilDarwin.cpp
FuzzerUtilFuchsia.cpp
FuzzerUtilLinux.cpp
FuzzerUtilPosix.cpp
FuzzerUtilWindows.cpp Revert "[Fuzzer] SetThreadName implementation for Windows" 2023-08-28 12:27:00 -07:00
FuzzerValueBitMap.h
README.txt

See http://llvm.org/docs/LibFuzzer.html