forked from OSchip/llvm-project
Revert "[sanitizer] Intercept __pthread_mutex_lock and __pthread_mutex_unlock"
Tsan tests fail. This reverts commit r332268 llvm-svn: 332276
This commit is contained in:
parent
7bcc21027d
commit
cdb89b72f5
|
@ -4054,22 +4054,6 @@ INTERCEPTOR(int, pthread_mutex_unlock, void *m) {
|
|||
#define INIT_PTHREAD_MUTEX_UNLOCK
|
||||
#endif
|
||||
|
||||
#if SANITIZER_INTERCEPT___PTHREAD_MUTEX
|
||||
INTERCEPTOR(int, __pthread_mutex_lock, void *m)
|
||||
ALIAS(WRAPPER_NAME(pthread_mutex_lock));
|
||||
|
||||
INTERCEPTOR(int, __pthread_mutex_unlock, void *m)
|
||||
ALIAS(WRAPPER_NAME(pthread_mutex_unlock));
|
||||
|
||||
#define INIT___PTHREAD_MUTEX_LOCK \
|
||||
COMMON_INTERCEPT_FUNCTION(__pthread_mutex_lock)
|
||||
#define INIT___PTHREAD_MUTEX_UNLOCK \
|
||||
COMMON_INTERCEPT_FUNCTION(__pthread_mutex_unlock)
|
||||
#else
|
||||
#define INIT___PTHREAD_MUTEX_LOCK
|
||||
#define INIT___PTHREAD_MUTEX_UNLOCK
|
||||
#endif
|
||||
|
||||
#if SANITIZER_INTERCEPT___LIBC_MUTEX
|
||||
INTERCEPTOR(int, __libc_mutex_lock, void *m)
|
||||
ALIAS(WRAPPER_NAME(pthread_mutex_lock));
|
||||
|
@ -7318,8 +7302,6 @@ static void InitializeCommonInterceptors() {
|
|||
INIT__EXIT;
|
||||
INIT_PTHREAD_MUTEX_LOCK;
|
||||
INIT_PTHREAD_MUTEX_UNLOCK;
|
||||
INIT___PTHREAD_MUTEX_LOCK;
|
||||
INIT___PTHREAD_MUTEX_UNLOCK;
|
||||
INIT___LIBC_MUTEX_LOCK;
|
||||
INIT___LIBC_MUTEX_UNLOCK;
|
||||
INIT___LIBC_THR_SETCANCELSTATE;
|
||||
|
|
|
@ -365,7 +365,6 @@
|
|||
(SI_LINUX || SI_FREEBSD || SI_NETBSD || SI_OPENBSD || SI_MAC || SI_SOLARIS)
|
||||
|
||||
#define SANITIZER_INTERCEPT_PTHREAD_MUTEX SI_POSIX
|
||||
#define SANITIZER_INTERCEPT___PTHREAD_MUTEX SI_LINUX_NOT_ANDROID
|
||||
#define SANITIZER_INTERCEPT___LIBC_MUTEX SI_NETBSD
|
||||
#define SANITIZER_INTERCEPT_PTHREAD_SETNAME_NP \
|
||||
(SI_FREEBSD || SI_NETBSD || SI_OPENBSD || SI_LINUX_NOT_ANDROID || SI_SOLARIS)
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
// RUN: %clangxx -O1 %s -o %t && %run %t
|
||||
// RUN: %clangxx -O1 -DUSE_GLIBC %s -o %t && %run %t
|
||||
// UNSUPPORTED: android
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
#ifdef USE_GLIBC
|
||||
extern "C" int __pthread_mutex_lock(pthread_mutex_t *__mutex);
|
||||
extern "C" int __pthread_mutex_unlock(pthread_mutex_t *__mutex);
|
||||
#define LOCK __pthread_mutex_lock
|
||||
#define UNLOCK __pthread_mutex_unlock
|
||||
#else
|
||||
#define LOCK pthread_mutex_lock
|
||||
#define UNLOCK pthread_mutex_unlock
|
||||
#endif
|
||||
|
||||
pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
|
||||
int x;
|
||||
|
||||
static void *Start(void *arg) {
|
||||
LOCK(&m);
|
||||
++x;
|
||||
UNLOCK(&m);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int main() {
|
||||
pthread_t threads[2] = {};
|
||||
for (pthread_t &t : threads)
|
||||
pthread_create(&t, 0, &Start, 0);
|
||||
for (pthread_t &t : threads)
|
||||
pthread_join(t, 0);
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue