diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2012-05-24 09:24:45 +0000 | 
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2012-05-24 09:24:45 +0000 | 
| commit | 65c21a5e6dfd8bf6eaa8636ef614188e033627a0 (patch) | |
| tree | 134be8fbc319125bbc5a5ae19c1342dcafa7d99e | |
| parent | 26dcb95dfcf4c0e70b9d1b63b168df27a25c9de1 (diff) | |
| download | bcm5719-llvm-65c21a5e6dfd8bf6eaa8636ef614188e033627a0.tar.gz bcm5719-llvm-65c21a5e6dfd8bf6eaa8636ef614188e033627a0.zip  | |
tsan: add a flag to control RunningOnValgrind() return value
llvm-svn: 157383
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_flags.cc | 2 | ||||
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_flags.h | 2 | ||||
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc | 2 | 
3 files changed, 5 insertions, 1 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_flags.cc b/compiler-rt/lib/tsan/rtl/tsan_flags.cc index b7f604ac06e..24398872b97 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_flags.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_flags.cc @@ -49,6 +49,8 @@ void InitializeFlags(Flags *f, const char *env) {    f->profile_memory = "";    f->flush_memory_ms = 0;    f->stop_on_start = false; +  f->running_on_valgrind = false; +    // Let a frontend override.    OverrideFlags(f); diff --git a/compiler-rt/lib/tsan/rtl/tsan_flags.h b/compiler-rt/lib/tsan/rtl/tsan_flags.h index dea01417ffe..6c516ed0b22 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_flags.h +++ b/compiler-rt/lib/tsan/rtl/tsan_flags.h @@ -52,6 +52,8 @@ struct Flags {    int flush_memory_ms;    // Stops on start until __tsan_resume() is called (for debugging).    bool stop_on_start; +  // Controls whether RunningOnValgrind() returns true or false. +  bool running_on_valgrind;  };  Flags *flags(); diff --git a/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc b/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc index c68e1d51a07..a04a207b5fe 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc @@ -332,7 +332,7 @@ void WTFAnnotateBenignRaceSized(char *f, int l, uptr mem, uptr sz, char *desc) {  }  int RunningOnValgrind() { -  return 0; +  return flags()->running_on_valgrind;  }  double __attribute__((weak)) ValgrindSlowdown(void) {  | 

