summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2013-12-31 09:38:23 +0000
committerDmitry Vyukov <dvyukov@google.com>2013-12-31 09:38:23 +0000
commit5b57ea7a24844d5097302551aa76430b392577c4 (patch)
tree2dcaeb9da007c59fc7d7ee2ccd3e1e77a4e44a0b
parent2e3ecb660ad8d66fffb3a86628f3c952e10f6963 (diff)
downloadbcm5719-llvm-5b57ea7a24844d5097302551aa76430b392577c4.tar.gz
bcm5719-llvm-5b57ea7a24844d5097302551aa76430b392577c4.zip
tsan: fix Go build
Currently fails with: gotsan.cc:7686:40: error: the address of 'int __sanitizer_pthread_attr_getstack(void*, void**, size_t*)' will always evaluate as 'true' [-Werror=address] llvm-svn: 198261
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
index 9a6dfe29653..0b951bd3eca 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
@@ -33,20 +33,24 @@
#include <link.h>
#endif
+#ifndef SANITIZER_GO
// This function is defined elsewhere if we intercepted pthread_attr_getstack.
extern "C" SANITIZER_WEAK_ATTRIBUTE int
__sanitizer_pthread_attr_getstack(void *attr, void **addr, size_t *size);
static int my_pthread_attr_getstack(void *attr, void **addr, size_t *size) {
+#
if (__sanitizer_pthread_attr_getstack)
return __sanitizer_pthread_attr_getstack((pthread_attr_t *)attr, addr,
size);
return pthread_attr_getstack((pthread_attr_t *)attr, addr, size);
}
+#endif // #ifndef SANITIZER_GO
namespace __sanitizer {
+#ifndef SANITIZER_GO
void GetThreadStackTopAndBottom(bool at_initialization, uptr *stack_top,
uptr *stack_bottom) {
static const uptr kMaxThreadStackSize = 1 << 30; // 1Gb
@@ -93,6 +97,7 @@ void GetThreadStackTopAndBottom(bool at_initialization, uptr *stack_top,
*stack_top = (uptr)stackaddr + stacksize;
*stack_bottom = (uptr)stackaddr;
}
+#endif // #ifndef SANITIZER_GO
// Does not compile for Go because dlsym() requires -ldl
#ifndef SANITIZER_GO
@@ -278,6 +283,7 @@ void GetThreadStackAndTls(bool main, uptr *stk_addr, uptr *stk_size,
#endif // SANITIZER_GO
}
+#ifndef SANITIZER_GO
void AdjustStackSizeLinux(void *attr_) {
pthread_attr_t *attr = (pthread_attr_t *)attr_;
uptr stackaddr = 0;
@@ -301,6 +307,7 @@ void AdjustStackSizeLinux(void *attr_) {
}
}
}
+#endif // SANITIZER_GO
#if SANITIZER_ANDROID
uptr GetListOfModules(LoadedModule *modules, uptr max_modules,
OpenPOWER on IntegriCloud