hanchenye-llvm-project/compiler-rt
Jonathan Metzman dd467f4f43 [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
2019-01-21 02:15:29 +00:00
..
cmake [safestack] Remove Darwin from supported platforms 2019-01-20 23:03:10 +00:00
docs
include Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
lib [libFuzzer][MSVC] Make Sanitizer Coverage MSVC-compatible 2019-01-21 02:15:29 +00:00
test Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
unittests [XRay] Add LD_LIBRARY_PATH to env variables for Unit Tests 2018-09-27 23:15:05 +00:00
utils Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
www
.arcconfig [compiler-rt] Set up .arcconfig to point to new Diffusion CRT repository 2017-12-06 20:55:32 +00:00
.gitignore
CMakeLists.txt [compiler-rt] Add option to disable libc++ build 2019-01-14 20:33:30 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT Install new LLVM license structure and new developer policy. 2019-01-19 06:14:24 +00:00
README.txt

README.txt

Compiler-RT
================================

This directory and its subdirectories contain source code for the compiler
support routines.

Compiler-RT is open source software. You may freely distribute it under the
terms of the license agreement found in LICENSE.txt.

================================