diff options
-rw-r--r-- | compiler-rt/test/msan/pthread_getattr_np_deadlock.cc | 11 | ||||
-rw-r--r-- | compiler-rt/test/msan/pthread_getname_np.cc | 4 |
2 files changed, 13 insertions, 2 deletions
diff --git a/compiler-rt/test/msan/pthread_getattr_np_deadlock.cc b/compiler-rt/test/msan/pthread_getattr_np_deadlock.cc index 98eaf14150b..241caa2a211 100644 --- a/compiler-rt/test/msan/pthread_getattr_np_deadlock.cc +++ b/compiler-rt/test/msan/pthread_getattr_np_deadlock.cc @@ -1,14 +1,23 @@ // RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && %run %t // Regression test for a deadlock in pthread_getattr_np -// UNSUPPORTED: freebsd #include <assert.h> #include <pthread.h> +#if defined(__FreeBSD__) +#include <pthread_np.h> +#endif void *ThreadFn(void *) { pthread_attr_t attr; +#if defined(__FreeBSD__) + // On FreeBSD it needs to allocate attr underlying memory + int res = pthread_attr_init(&attr); + assert(!res); + res = pthread_attr_get_np(pthread_self(), &attr); +#else int res = pthread_getattr_np(pthread_self(), &attr); +#endif assert(!res); return 0; } diff --git a/compiler-rt/test/msan/pthread_getname_np.cc b/compiler-rt/test/msan/pthread_getname_np.cc index c8d8a213b33..e19b652a73c 100644 --- a/compiler-rt/test/msan/pthread_getname_np.cc +++ b/compiler-rt/test/msan/pthread_getname_np.cc @@ -1,5 +1,7 @@ // RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t -// UNSUPPORTED: android, netbsd +// The main goal is getting the pthread name back and +// FreeBSD based do not support this feature +// UNSUPPORTED: android, netbsd, freebsd // Regression test for a deadlock in pthread_getattr_np |