summaryrefslogtreecommitdiff
path: root/lib/interception/interception_linux.h
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2013-09-19 23:44:51 +0000
committerDmitry Vyukov <dvyukov@google.com>2013-09-19 23:44:51 +0000
commitfae2bff6de8be5a319ca17fd713731ce8a887476 (patch)
treec80ad579de92dfcc8566aa1ae9cf94a8519f484c /lib/interception/interception_linux.h
parentb928ac1b61c35ef961f841ce44fc6b166362b8a2 (diff)
downloadcompiler-rt-fae2bff6de8be5a319ca17fd713731ce8a887476.tar.gz
compiler-rt-fae2bff6de8be5a319ca17fd713731ce8a887476.tar.bz2
compiler-rt-fae2bff6de8be5a319ca17fd713731ce8a887476.tar.xz
tsan: fix linking of tsan runtime into dynamic libraries
versioned symbols can not be linked into dynamic library w/o linker script also simplifies code as side effect git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@191056 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/interception/interception_linux.h')
-rw-r--r--lib/interception/interception_linux.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
index 5e0ec2ac..8f7a706f 100644
--- a/lib/interception/interception_linux.h
+++ b/lib/interception/interception_linux.h
@@ -35,9 +35,8 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
(::__interception::uptr)&WRAP(func))
#if !defined(__ANDROID__) // android does not have dlvsym
-#define INTERCEPT_FUNCTION_VER(func, funcver, symver) \
- __asm__(".symver "#funcver","#func"@@"#symver); \
- ::__interception::real_##funcver = (funcver##_f)(unsigned long) \
+#define INTERCEPT_FUNCTION_VER(func, symver) \
+ ::__interception::real_##func = (func##_f)(unsigned long) \
::__interception::GetFuncAddrVer(#func, #symver)
#endif // !defined(__ANDROID__)