Go to file
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
clang [Driver] Don't pass default value to getCompilerRTArgString 2019-01-21 01:34:09 +00:00
clang-tools-extra [clang-tidy] misc-non-private-member-variables-in-classes: ignore implicit methods 2019-01-20 14:28:27 +00:00
compiler-rt [libFuzzer][MSVC] Make Sanitizer Coverage MSVC-compatible 2019-01-21 02:15:29 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
libcxx Fix aligned allocation availability XFAILs after D56445. 2019-01-20 01:21:35 +00:00
libcxxabi Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
libunwind Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
lld Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
lldb Fix test after AST dump output change 2019-01-20 23:46:30 +00:00
llgo Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
llvm Tentative fix for r351701 and gcc 6.2 build on ubuntu 2019-01-20 23:06:45 +00:00
openmp Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
parallel-libs Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
polly Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
pstl Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
.arcconfig Add an .arcconfig for the top of the git monorepo. 2019-01-11 16:27:14 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.