forked from OSchip/llvm-project
asan: fix android build
android does not have dlvsym llvm-svn: 189781
This commit is contained in:
parent
59039dc1bf
commit
23b80ab87f
|
@ -24,9 +24,11 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
|
|||
return real == wrapper;
|
||||
}
|
||||
|
||||
#if !defined(__ANDROID__) // android does not have dlvsym
|
||||
void *GetFuncAddrVer(const char *func_name, const char *ver) {
|
||||
return dlvsym(RTLD_NEXT, func_name, ver);
|
||||
}
|
||||
#endif // !defined(__ANDROID__)
|
||||
|
||||
} // namespace __interception
|
||||
|
||||
|
|
|
@ -34,10 +34,12 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
|
|||
(::__interception::uptr)&(func), \
|
||||
(::__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) \
|
||||
::__interception::GetFuncAddrVer(#func, #symver)
|
||||
#endif // !defined(__ANDROID__)
|
||||
|
||||
#endif // INTERCEPTION_LINUX_H
|
||||
#endif // __linux__
|
||||
|
|
Loading…
Reference in New Issue