tsan: intercept abort() to fflush() libc streams
llvm-svn: 177637
This commit is contained in:
parent
6911a7f1d1
commit
69c323d66f
|
@ -1520,6 +1520,12 @@ TSAN_INTERCEPTOR(int, fflush, void *stream) {
|
|||
return REAL(fflush)(stream);
|
||||
}
|
||||
|
||||
TSAN_INTERCEPTOR(void, abort, int fake) {
|
||||
SCOPED_TSAN_INTERCEPTOR(abort, fake);
|
||||
REAL(fflush)(0);
|
||||
REAL(abort)(fake);
|
||||
}
|
||||
|
||||
TSAN_INTERCEPTOR(int, puts, const char *s) {
|
||||
SCOPED_TSAN_INTERCEPTOR(puts, s);
|
||||
MemoryAccessRange(thr, pc, (uptr)s, internal_strlen(s), false);
|
||||
|
@ -1981,6 +1987,7 @@ void InitializeInterceptors() {
|
|||
TSAN_INTERCEPT(fread);
|
||||
TSAN_INTERCEPT(fwrite);
|
||||
TSAN_INTERCEPT(fflush);
|
||||
TSAN_INTERCEPT(abort);
|
||||
TSAN_INTERCEPT(puts);
|
||||
TSAN_INTERCEPT(rmdir);
|
||||
TSAN_INTERCEPT(opendir);
|
||||
|
|
|
@ -243,6 +243,7 @@ void StatOutput(u64 *stat) {
|
|||
name[StatInt_fread] = " fread ";
|
||||
name[StatInt_fwrite] = " fwrite ";
|
||||
name[StatInt_fflush] = " fflush ";
|
||||
name[StatInt_abort] = " abort ";
|
||||
name[StatInt_puts] = " puts ";
|
||||
name[StatInt_rmdir] = " rmdir ";
|
||||
name[StatInt_opendir] = " opendir ";
|
||||
|
|
|
@ -238,6 +238,7 @@ enum StatType {
|
|||
StatInt_fread,
|
||||
StatInt_fwrite,
|
||||
StatInt_fflush,
|
||||
StatInt_abort,
|
||||
StatInt_puts,
|
||||
StatInt_rmdir,
|
||||
StatInt_opendir,
|
||||
|
|
Loading…
Reference in New Issue