summaryrefslogtreecommitdiff
path: root/test/fuzzer/CMakeLists.txt
diff options
context:
space:
mode:
authorKostya Kortchinsky <kostyak@google.com>2017-12-14 21:32:57 +0000
committerKostya Kortchinsky <kostyak@google.com>2017-12-14 21:32:57 +0000
commite202bd43ff2e7d87641984ac165a2a52d1c6b6d3 (patch)
tree88eab16f76297ee6bb0b4d51ea1dbb787af18709 /test/fuzzer/CMakeLists.txt
parent1c21b6330ea33fbe97a33afea12c2aca8dc8cd25 (diff)
[scudo] Refactor ScudoChunk
Summary: The initial implementation used an ASan like Chunk class that was deriving from a Header class. Due to potential races, we ended up working with local copies of the Header and never using the parent class fields. ScudoChunk was never constructed but cast, and we were using `this` as the pointer needed for our computations. This was meh. So we refactored ScudoChunk to be now a series of static functions within the namespace `__scudo::Chunk` that take a "user" pointer as first parameter (former `this`). A compiled binary doesn't really change, but the code is more sensible. Clang tends to inline all those small function (in -O2), but GCC left a few not inlined, so we add the `INLINE` keyword to all. Since we don't have `ScudoChunk` pointers anymore, a few variables were renamed here and there to introduce a clearer distinction between a user pointer (usually `Ptr`) and a backend pointer (`BackendPtr`). Reviewers: alekseyshl, flowerhack Reviewed By: alekseyshl Subscribers: #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D41200 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@320745 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/fuzzer/CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions