[PATCH] D97975: [libFuzzer] add attribute noinline on Fuzzer::ExecuteCallback()
Jonas Paulsson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 6 11:10:11 PST 2021
jonpa updated this revision to Diff 328788.
jonpa added a comment.
clang-format
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97975/new/
https://reviews.llvm.org/D97975
Files:
compiler-rt/lib/fuzzer/FuzzerLoop.cpp
Index: compiler-rt/lib/fuzzer/FuzzerLoop.cpp
===================================================================
--- compiler-rt/lib/fuzzer/FuzzerLoop.cpp
+++ compiler-rt/lib/fuzzer/FuzzerLoop.cpp
@@ -575,7 +575,10 @@
!memcmp(A + Size - Limit / 2, B + Size - Limit / 2, Limit / 2);
}
-void Fuzzer::ExecuteCallback(const uint8_t *Data, size_t Size) {
+// FIXME: This method is not inlined because it would cause a test to fail
+// where it is part of the stack unwinding. See D97975 for details.
+void __attribute__((noinline))
+Fuzzer::ExecuteCallback(const uint8_t *Data, size_t Size) {
TPC.RecordInitialStack();
TotalNumberOfRuns++;
assert(InFuzzingThread());
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97975.328788.patch
Type: text/x-patch
Size: 684 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210306/1066d4fa/attachment.bin>
More information about the llvm-commits
mailing list