forked from OSchip/llvm-project
tsan: remove real func check from interceptors
If the real function is not intercepted, we are going to crash one way or another. The question is just in the failure mode: error message vs NULL deref. But the message costs us a check in every interceptor and they are not observed to be failing in real life for a long time, also other sanitizers don't have this check as well (also crash on NULL deref if that happens). Remove the check from non-debug mode. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D112540
This commit is contained in:
parent
6af3e87d2d
commit
c80604f7a3
|
@ -47,10 +47,7 @@ inline bool in_symbolizer() {
|
|||
|
||||
#define SCOPED_TSAN_INTERCEPTOR(func, ...) \
|
||||
SCOPED_INTERCEPTOR_RAW(func, __VA_ARGS__); \
|
||||
if (REAL(func) == 0) { \
|
||||
Report("FATAL: ThreadSanitizer: failed to intercept %s\n", #func); \
|
||||
Die(); \
|
||||
} \
|
||||
DCHECK(REAL(func)); \
|
||||
if (!thr->is_inited || thr->ignore_interceptors || thr->in_ignored_lib) \
|
||||
return REAL(func)(__VA_ARGS__);
|
||||
|
||||
|
|
Loading…
Reference in New Issue