diff options
author | Jonathan Metzman <metzman@chromium.org> | 2019-01-21 02:15:29 +0000 |
---|---|---|
committer | Jonathan Metzman <metzman@chromium.org> | 2019-01-21 02:15:29 +0000 |
commit | dd467f4f431ece145b41486c5b822d51a68d37a6 (patch) | |
tree | df5bed78a4007c06747d3282d3d5b4988aef0c89 /compiler-rt/test/fuzzer/TraceMallocThreadedTest.cpp | |
parent | a35df433bf7bf27940d1464441f497c3e8623a35 (diff) | |
download | bcm5719-llvm-dd467f4f431ece145b41486c5b822d51a68d37a6.tar.gz bcm5719-llvm-dd467f4f431ece145b41486c5b822d51a68d37a6.zip |
[libFuzzer][MSVC] Make Sanitizer Coverage MSVC-compatible
Summary:
Make Sanitizer Coverage work when compiled work when compiler-rt
is compiled with MSVC.
The previous solution did not work for MSVC because MSVC tried to
align the .SCOV$CZ section even though we used
__declspec(align(1)) on its only symbol:
__stop___sancov_cntrs.
Because the counter array is composed
of 1 byte elements, it does not always end on an 8 or 4 byte
boundary. This means that padding was sometimes added to
added to align the next section, .SCOV$CZ.
Use a different strategy now: instead of only instructing
the compiler not to align the symbol, make the section
one byte long by making its only symbol a uint8_t, so that
the linker won't try to align it.
Reviewers: morehouse, rnk
Reviewed By: rnk
Subscribers: kubamracek
Differential Revision: https://reviews.llvm.org/D56866
llvm-svn: 351714
Diffstat (limited to 'compiler-rt/test/fuzzer/TraceMallocThreadedTest.cpp')
0 files changed, 0 insertions, 0 deletions