[PATCH] D84913: [libFuzzer] Enable for SystemZ
Ilya Leoshkevich via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 30 00:51:38 PDT 2020
iii created this revision.
Herald added subscribers: llvm-commits, Sanitizers, hiraditya, mgorny.
Herald added projects: Sanitizers, LLVM.
iii requested review of this revision.
- Add SystemZ to the list of supported architectures.
- Fix endianness issue in ForEachNonZeroByte().
- Fix types of __stop* and __start* symbols. Adapt tests.
If a section is supposed to hold elements of type T, then the
corresponding CreateSecStartEnd()'s Ty parameter represents T*.
Forwarding it to GlobalVariable constructor causes the resulting
GlobalVariable's type to be T*, and its SSA value type to be T**, which
is one indirection too many. This issue is mostly masked by pointer
casts, however, the global variable still gets an incorrect alignment,
which causes SystemZ to choose wrong instructions to access the
section.
- XFAIL a few tests.
Coverage reporting is broken, and is not easy to fix (see comment in
coverage.test). Interaction with sanitizers needs to be investigated
more thoroughly, since they appear to reduce coverage in certain cases.
iReviewers: kcc morehouse uweigand jonpa
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D84913
Files:
compiler-rt/cmake/config-ix.cmake
compiler-rt/lib/fuzzer/FuzzerTracePC.h
compiler-rt/test/fuzzer/coverage.test
compiler-rt/test/fuzzer/msan.test
compiler-rt/test/fuzzer/swap-cmp.test
llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
llvm/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll
llvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
llvm/test/Instrumentation/SanitizerCoverage/tracing.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84913.281816.patch
Type: text/x-patch
Size: 7602 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200730/a404efd1/attachment.bin>
More information about the llvm-commits
mailing list