summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Aizatsky <aizatsky@chromium.org>2017-01-05 06:55:55 +0000
committerMike Aizatsky <aizatsky@chromium.org>2017-01-05 06:55:55 +0000
commit8378bf7059b49053de8982d34aba0948cff44cc6 (patch)
tree2486a3eef8d7c550c3ade5d83c9b5fe0ef19b7f8
parentc78647955f4877d403479645150c4a67c9849631 (diff)
downloadcompiler-rt-8378bf7059b49053de8982d34aba0948cff44cc6.tar.gz
[sancov] force default flags for windows
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@291089 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/asan/asan_win.cc3
-rw-r--r--lib/sanitizer_common/sancov_flags.cc6
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/asan/asan_win.cc b/lib/asan/asan_win.cc
index a513b0816..78268d83e 100644
--- a/lib/asan/asan_win.cc
+++ b/lib/asan/asan_win.cc
@@ -54,7 +54,6 @@ void __sanitizer_default_free_hook(void *ptr) { }
const char* __asan_default_default_options() { return ""; }
const char* __asan_default_default_suppressions() { return ""; }
void __asan_default_on_error() {}
-const char* __sancov_default_options() { return ""; }
// 64-bit msvc will not prepend an underscore for symbols.
#ifdef _WIN64
#pragma comment(linker, "/alternatename:__sanitizer_malloc_hook=__sanitizer_default_malloc_hook") // NOLINT
@@ -62,14 +61,12 @@ const char* __sancov_default_options() { return ""; }
#pragma comment(linker, "/alternatename:__asan_default_options=__asan_default_default_options") // NOLINT
#pragma comment(linker, "/alternatename:__asan_default_suppressions=__asan_default_default_suppressions") // NOLINT
#pragma comment(linker, "/alternatename:__asan_on_error=__asan_default_on_error") // NOLINT
-#pragma comment(linker, "/alternatename:__sancov_default_options=__sancov_default_default_options") // NOLINT
#else
#pragma comment(linker, "/alternatename:___sanitizer_malloc_hook=___sanitizer_default_malloc_hook") // NOLINT
#pragma comment(linker, "/alternatename:___sanitizer_free_hook=___sanitizer_default_free_hook") // NOLINT
#pragma comment(linker, "/alternatename:___asan_default_options=___asan_default_default_options") // NOLINT
#pragma comment(linker, "/alternatename:___asan_default_suppressions=___asan_default_default_suppressions") // NOLINT
#pragma comment(linker, "/alternatename:___asan_on_error=___asan_default_on_error") // NOLINT
-#pragma comment(linker, "/alternatename:___sancov_default_options=___sancov_default_default_options") // NOLINT
#endif
// }}}
} // extern "C"
diff --git a/lib/sanitizer_common/sancov_flags.cc b/lib/sanitizer_common/sancov_flags.cc
index 55e0c700f..cef4fa948 100644
--- a/lib/sanitizer_common/sancov_flags.cc
+++ b/lib/sanitizer_common/sancov_flags.cc
@@ -13,6 +13,12 @@
#include "sancov_flags.h"
#include "sanitizer_flag_parser.h"
+#include "sanitizer_platform.h"
+
+#if SANITIZER_WINDOWS
+// Windows doesn't have weak symbols.
+extern "C" const char* __sancov_default_options() { return ""; }
+#endif
using namespace __sanitizer;