From 7fb4d3d16e5f21c8a50a87d9a8f31da36fcdfa91 Mon Sep 17 00:00:00 2001 From: Alex Shlyapnikov Date: Wed, 15 Nov 2017 23:42:48 +0000 Subject: [PATCH] [LSan] Export __lsan_init Summary: lsan_preinit.cc is meant to be linked into executable and calls lsan_init from .preinit_array section. But if liblsan is a shared library, then this doesn't work, because the symbol is not exported. This patch fixes that. The counterparts like asan_init or __tsan_init already do have SANITIZER_INTERFACE_ATTRIBUTE. Committing on behalf of jakubjelinek. Reviewers: alekseyshl, kcc Subscribers: llvm-commits Differential revision: https://reviews.llvm.org/D39889 llvm-svn: 318349 --- compiler-rt/lib/lsan/lsan.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/lib/lsan/lsan.h b/compiler-rt/lib/lsan/lsan.h index 43c4165..6baee81 100644 --- a/compiler-rt/lib/lsan/lsan.h +++ b/compiler-rt/lib/lsan/lsan.h @@ -64,4 +64,4 @@ void GetStackTrace(__sanitizer::BufferedStackTrace *stack, extern bool lsan_inited; extern bool lsan_init_is_running; -extern "C" void __lsan_init(); +extern "C" SANITIZER_INTERFACE_ATTRIBUTE void __lsan_init(); -- 2.7.4