forked from OSchip/llvm-project
[asan] Don't apply glibc-specific TLS calculations on Android.
This fixes an infinite recursion between GetTls and GetTlsSize on Android-x86. llvm-svn: 245773
This commit is contained in:
parent
33010103b7
commit
d6376d9875
|
@ -326,7 +326,7 @@ uptr ThreadSelf() {
|
||||||
|
|
||||||
#if !SANITIZER_GO
|
#if !SANITIZER_GO
|
||||||
static void GetTls(uptr *addr, uptr *size) {
|
static void GetTls(uptr *addr, uptr *size) {
|
||||||
#if SANITIZER_LINUX
|
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||||
# if defined(__x86_64__) || defined(__i386__) || defined(__aarch64__)
|
# if defined(__x86_64__) || defined(__i386__) || defined(__aarch64__)
|
||||||
*addr = ThreadSelf();
|
*addr = ThreadSelf();
|
||||||
*size = GetTlsSize();
|
*size = GetTlsSize();
|
||||||
|
@ -352,6 +352,9 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||||
*addr = (uptr) dtv[2];
|
*addr = (uptr) dtv[2];
|
||||||
*size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]);
|
*size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]);
|
||||||
}
|
}
|
||||||
|
#elif SANITIZER_ANDROID
|
||||||
|
*addr = 0;
|
||||||
|
*size = 0;
|
||||||
#else
|
#else
|
||||||
# error "Unknown OS"
|
# error "Unknown OS"
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue