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
|
#define INIT_PTHREAD_MUTEX_UNLOCK
|
||||||
#endif
|
#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
|
#if SANITIZER_INTERCEPT___LIBC_MUTEX
|
||||||
INTERCEPTOR(int, __libc_mutex_lock, void *m)
|
INTERCEPTOR(int, __libc_mutex_lock, void *m)
|
||||||
ALIAS(WRAPPER_NAME(pthread_mutex_lock));
|
ALIAS(WRAPPER_NAME(pthread_mutex_lock));
|
||||||
|
@ -7318,8 +7302,6 @@ static void InitializeCommonInterceptors() {
|
||||||
INIT__EXIT;
|
INIT__EXIT;
|
||||||
INIT_PTHREAD_MUTEX_LOCK;
|
INIT_PTHREAD_MUTEX_LOCK;
|
||||||
INIT_PTHREAD_MUTEX_UNLOCK;
|
INIT_PTHREAD_MUTEX_UNLOCK;
|
||||||
INIT___PTHREAD_MUTEX_LOCK;
|
|
||||||
INIT___PTHREAD_MUTEX_UNLOCK;
|
|
||||||
INIT___LIBC_MUTEX_LOCK;
|
INIT___LIBC_MUTEX_LOCK;
|
||||||
INIT___LIBC_MUTEX_UNLOCK;
|
INIT___LIBC_MUTEX_UNLOCK;
|
||||||
INIT___LIBC_THR_SETCANCELSTATE;
|
INIT___LIBC_THR_SETCANCELSTATE;
|
||||||
|
|
|
@ -365,7 +365,6 @@
|
||||||
(SI_LINUX || SI_FREEBSD || SI_NETBSD || SI_OPENBSD || SI_MAC || SI_SOLARIS)
|
(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_POSIX
|
||||||
#define SANITIZER_INTERCEPT___PTHREAD_MUTEX SI_LINUX_NOT_ANDROID
|
|
||||||
#define SANITIZER_INTERCEPT___LIBC_MUTEX SI_NETBSD
|
#define SANITIZER_INTERCEPT___LIBC_MUTEX SI_NETBSD
|
||||||
#define SANITIZER_INTERCEPT_PTHREAD_SETNAME_NP \
|
#define SANITIZER_INTERCEPT_PTHREAD_SETNAME_NP \
|
||||||
(SI_FREEBSD || SI_NETBSD || SI_OPENBSD || SI_LINUX_NOT_ANDROID || SI_SOLARIS)
|
(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