[compiler-rt] r191196 - [msan] Allow nested symbolizer and loader scopes.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Mon Sep 23 06:26:31 PDT 2013


Author: eugenis
Date: Mon Sep 23 08:26:31 2013
New Revision: 191196

URL: http://llvm.org/viewvc/llvm-project?rev=191196&view=rev
Log:
[msan] Allow nested symbolizer and loader scopes.

Modified:
    compiler-rt/trunk/lib/msan/msan.cc

Modified: compiler-rt/trunk/lib/msan/msan.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/msan.cc?rev=191196&r1=191195&r2=191196&view=diff
==============================================================================
--- compiler-rt/trunk/lib/msan/msan.cc (original)
+++ compiler-rt/trunk/lib/msan/msan.cc Mon Sep 23 08:26:31 2013
@@ -58,8 +58,8 @@ static THREADLOCAL struct {
   uptr stack_top, stack_bottom;
 } __msan_stack_bounds;
 
-static THREADLOCAL bool is_in_symbolizer;
-static THREADLOCAL bool is_in_loader;
+static THREADLOCAL int is_in_symbolizer;
+static THREADLOCAL int is_in_loader;
 
 extern "C" SANITIZER_WEAK_ATTRIBUTE const int __msan_track_origins;
 
@@ -87,12 +87,12 @@ static bool IsRunningUnderDr() {
   return result;
 }
 
-void EnterSymbolizer() { is_in_symbolizer = true; }
-void ExitSymbolizer()  { is_in_symbolizer = false; }
+void EnterSymbolizer() { ++is_in_symbolizer; }
+void ExitSymbolizer()  { --is_in_symbolizer; }
 bool IsInSymbolizer() { return is_in_symbolizer; }
 
-void EnterLoader() { is_in_loader = true; }
-void ExitLoader()  { is_in_loader = false; }
+void EnterLoader() { --is_in_loader; }
+void ExitLoader()  { --is_in_loader; }
 
 extern "C" {
 SANITIZER_INTERFACE_ATTRIBUTE





More information about the llvm-commits mailing list