summaryrefslogtreecommitdiff
path: root/lib/cfi/cfi.cc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2016-01-26 23:42:41 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2016-01-26 23:42:41 +0000
commit3277051f78361732e644adead8253d36958c5534 (patch)
treeb07fa27541899a1eebf926895892c423e3272843 /lib/cfi/cfi.cc
parentc6d6fec58985563ffb87ecfd17587f65dd1163df (diff)
[cfi] Exclude __cfi_slowpath_diag from the non-diag rtl.
Calls to __cfi_slowpath_diag are only emitted when building with diagnostics, and linking the diag rtl. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@258881 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/cfi/cfi.cc')
-rw-r--r--lib/cfi/cfi.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/cfi/cfi.cc b/lib/cfi/cfi.cc
index b5fbab387..fd9b5489e 100644
--- a/lib/cfi/cfi.cc
+++ b/lib/cfi/cfi.cc
@@ -296,7 +296,7 @@ void ExitLoader() {
}
ALWAYS_INLINE void CfiSlowPathCommon(u64 CallSiteTypeId, void *Ptr,
- void *DiagData) {
+ void *DiagData) {
uptr Addr = (uptr)Ptr;
VReport(3, "__cfi_slowpath: %llx, %p\n", CallSiteTypeId, Ptr);
ShadowValue sv = ShadowValue::load(Addr);
@@ -362,10 +362,12 @@ __cfi_slowpath(u64 CallSiteTypeId, void *Ptr) {
CfiSlowPathCommon(CallSiteTypeId, Ptr, nullptr);
}
+#ifdef CFI_ENABLE_DIAG
extern "C" SANITIZER_INTERFACE_ATTRIBUTE void
__cfi_slowpath_diag(u64 CallSiteTypeId, void *Ptr, void *DiagData) {
CfiSlowPathCommon(CallSiteTypeId, Ptr, DiagData);
}
+#endif
// Setup shadow for dlopen()ed libraries.
// The actual shadow setup happens after dlopen() returns, which means that