forked from OSchip/llvm-project
Handle NetBSD alias for pthread_sigmask
Summary: Add a new helper macro TSAN_INTERCEPTOR_NETBSD_ALIAS_THR2 that handles pthread(3)/libc aliases in scenarios when a name in both libraries differs not just in prefix namespace. Handle TSan pthread_sigmask mangling accordingly into __libc_thr_sigsetmask. Reviewers: vitalybuka, joerg Reviewed By: vitalybuka Subscribers: kubamracek, jfb, llvm-commits, #sanitizers, mgorny Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D53863 llvm-svn: 345627
This commit is contained in:
parent
6958b5ffa9
commit
df8802da7a
|
@ -2562,6 +2562,8 @@ TSAN_INTERCEPTOR_NETBSD_ALIAS(int, rwlock_wrlock, void *m)
|
|||
TSAN_INTERCEPTOR_NETBSD_ALIAS(int, rwlock_trywrlock, void *m)
|
||||
TSAN_INTERCEPTOR_NETBSD_ALIAS(int, rwlock_unlock, void *m)
|
||||
TSAN_INTERCEPTOR_NETBSD_ALIAS_THR(int, once, void *o, void (*f)())
|
||||
TSAN_INTERCEPTOR_NETBSD_ALIAS_THR2(int, sigsetmask, sigmask, int a, void *b,
|
||||
void *c)
|
||||
|
||||
namespace __tsan {
|
||||
|
||||
|
@ -2771,6 +2773,7 @@ void InitializeInterceptors() {
|
|||
TSAN_MAYBE_INTERCEPT_NETBSD_ALIAS(rwlock_trywrlock);
|
||||
TSAN_MAYBE_INTERCEPT_NETBSD_ALIAS(rwlock_unlock);
|
||||
TSAN_MAYBE_INTERCEPT_NETBSD_ALIAS_THR(once);
|
||||
TSAN_MAYBE_INTERCEPT_NETBSD_ALIAS_THR(sigsetmask);
|
||||
|
||||
FdInit();
|
||||
}
|
||||
|
|
|
@ -56,9 +56,13 @@ LibIgnore *libignore();
|
|||
# define TSAN_INTERCEPTOR_NETBSD_ALIAS_THR(ret, func, ...) \
|
||||
TSAN_INTERCEPTOR(ret, __libc_thr_##func, __VA_ARGS__) \
|
||||
ALIAS(WRAPPER_NAME(pthread_##func));
|
||||
# define TSAN_INTERCEPTOR_NETBSD_ALIAS_THR2(ret, func, func2, ...) \
|
||||
TSAN_INTERCEPTOR(ret, __libc_thr_##func, __VA_ARGS__) \
|
||||
ALIAS(WRAPPER_NAME(pthread_##func2));
|
||||
#else
|
||||
# define TSAN_INTERCEPTOR_NETBSD_ALIAS(ret, func, ...)
|
||||
# define TSAN_INTERCEPTOR_NETBSD_ALIAS_THR(ret, func, ...)
|
||||
# define TSAN_INTERCEPTOR_NETBSD_ALIAS_THR2(ret, func, func2, ...)
|
||||
#endif
|
||||
|
||||
#endif // TSAN_INTERCEPTORS_H
|
||||
|
|
Loading…
Reference in New Issue