Go to file
Reid Kleckner 03d703bb62 [asan] Export new and delete operators on Windows
This is necessary to support the dynamic CRT (/MD) with VS2015. In
VS2015, these symbols are no longer imported from a DLL, they provided
statically by msvcrt.lib. This means our approach of hotpatching the DLL
no longer works.

By exporting the symbols, we end up relying on the same mechanism that
we use to intercept symbols in the static CRT (/MT) case. The ASan
runtime always needs to appear first on the link line, and the linker
searches for symbol definitions from left to right. This means we can
stop hotpatching operator new and delete in the CRT, which is nice.

I think that the only reason we weren't exporting the symbols already is
because MSVC doesn't allow you to do it directly with
__declspec(dllexport). Instead, we can use
`#pragma comment(linker, "/export:foo")`, which is most of what the
attribute does under the hood. It does mean we have to write down the
mangled names of the operators, but that's not too bad.

llvm-svn: 264190
2016-03-23 20:45:52 +00:00
clang Make SemaAccess smarter about determining when a dependent class might 2016-03-23 20:39:06 +00:00
clang-tools-extra Add check for unneeded copies of locals 2016-03-23 09:33:07 +00:00
compiler-rt [asan] Export new and delete operators on Windows 2016-03-23 20:45:52 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Fix ilogb(double) return type 2016-02-24 00:52:15 +00:00
libcxx Missing ATOMIC_*_LOCK_FREE tests 2016-03-18 17:48:58 +00:00
libcxxabi [libcxxabi] Disable cxa_thread_atexit_test if unavailable 2016-03-17 10:00:24 +00:00
libunwind [AArch64] Fix libunwind build when using GNU assembler 2016-02-11 21:22:57 +00:00
lld Add the needed lld change for r264187 in llvm. 2016-03-23 20:37:23 +00:00
lldb Implement ObjectFilePECOFF::GetEntryPointAddress. 2016-03-23 18:00:13 +00:00
llgo [cmake] fix libgo-llgo paths in install target 2016-03-23 12:39:21 +00:00
llvm Fix a crash in running llvm-objdump -t with an invalid Mach-O file already 2016-03-23 20:27:00 +00:00
openmp Fix Visual Studio builds 2016-03-23 16:27:25 +00:00
polly Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00