From f266601ce9c242addca771a955665ff60609e2a4 Mon Sep 17 00:00:00 2001 From: Viktor Kutuzov Date: Fri, 24 Oct 2014 09:27:34 +0000 Subject: [PATCH] [Tsan] Fix the thread_name tests to build on FreeBSD Differential Revision: http://reviews.llvm.org/D5855 llvm-svn: 220552 --- compiler-rt/test/tsan/thread_name.cc | 13 +++++++++++-- compiler-rt/test/tsan/thread_name2.cc | 6 +++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/compiler-rt/test/tsan/thread_name.cc b/compiler-rt/test/tsan/thread_name.cc index 05b0a35..a790c66 100644 --- a/compiler-rt/test/tsan/thread_name.cc +++ b/compiler-rt/test/tsan/thread_name.cc @@ -3,6 +3,16 @@ #include #include +#if defined(__linux__) +#define USE_PTHREAD_SETNAME_NP __GLIBC_PREREQ(2, 12) +#elif defined(__FreeBSD__) +#include +#define USE_PTHREAD_SETNAME_NP 1 +#define pthread_setname_np pthread_set_name_np +#else +#define USE_PTHREAD_SETNAME_NP 0 +#endif + extern "C" void AnnotateThreadName(const char *f, int l, const char *name); int Global; @@ -15,7 +25,7 @@ void *Thread1(void *x) { } void *Thread2(void *x) { -#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 12) +#if USE_PTHREAD_SETNAME_NP pthread_setname_np(pthread_self(), "Thread2"); #else AnnotateThreadName(__FILE__, __LINE__, "Thread2"); @@ -35,4 +45,3 @@ int main() { // CHECK: WARNING: ThreadSanitizer: data race // CHECK: Thread T1 'Thread1' // CHECK: Thread T2 'Thread2' - diff --git a/compiler-rt/test/tsan/thread_name2.cc b/compiler-rt/test/tsan/thread_name2.cc index b9a5746..6a3dafe 100644 --- a/compiler-rt/test/tsan/thread_name2.cc +++ b/compiler-rt/test/tsan/thread_name2.cc @@ -3,6 +3,11 @@ #include #include +#if defined(__FreeBSD__) +#include +#define pthread_setname_np pthread_set_name_np +#endif + int Global; void *Thread1(void *x) { @@ -29,4 +34,3 @@ int main() { // CHECK: WARNING: ThreadSanitizer: data race // CHECK: Thread T1 'foobar1' // CHECK: Thread T2 'foobar2' - -- 2.7.4