llvm-project/llvm/lib/Transforms
Jonathan Metzman 0b94e88007 [SanitizerCoverage] Prevent /OPT:REF from stripping constructors
Summary:
Linking with the /OPT:REF linker flag when building COFF files causes
the linker to strip SanitizerCoverage's constructors. Prevent this by
giving the constructors WeakODR linkage and by passing the linker a
directive to include sancov.module_ctor.

Include a test in compiler-rt to verify libFuzzer can be linked using
/OPT:REF

Reviewers: morehouse, rnk

Reviewed By: morehouse, rnk

Subscribers: rnk, morehouse, hiraditya

Differential Revision: https://reviews.llvm.org/D52119

llvm-svn: 344391
2018-10-12 18:11:47 +00:00
..
AggressiveInstCombine [Aggressive InstCombine] Move C bindings to their own header file. 2018-09-05 11:41:12 +00:00
Coroutines llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
Hello
IPO [ThinLTO] Don't import GV which contains blockaddress 2018-10-12 07:24:02 +00:00
InstCombine [InstCombine] Fix SimplifyLibCalls erasing an instruction while IC still had references to it. 2018-10-11 14:51:11 +00:00
Instrumentation [SanitizerCoverage] Prevent /OPT:REF from stripping constructors 2018-10-12 18:11:47 +00:00
ObjCARC ProvenanceAnalysis: Store WeakTrackingVH instead of Value* in UnderlyingValue Cache. 2018-06-21 05:14:00 +00:00
Scalar SCCP: avoid caching DenseMap entry that might be invalidated. 2018-10-12 09:01:59 +00:00
Utils [InstCombine] Fix SimplifyLibCalls erasing an instruction while IC still had references to it. 2018-10-11 14:51:11 +00:00
Vectorize [LV] Use SmallVector instead of DenseMap in calculateRegisterUsage (NFC). 2018-10-11 09:46:25 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00