[msan] Save/restore va_arg_overflow_tls in signal handlers.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@189351 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/msan/msan.h b/lib/msan/msan.h
index e95ac9e..5d5ca57 100644
--- a/lib/msan/msan.h
+++ b/lib/msan/msan.h
@@ -86,6 +86,15 @@
         StackTrace::GetCurrentPc(), GET_CURRENT_FRAME(),           \
         common_flags()->fast_unwind_on_malloc)
 
+class ScopedThreadLocalStateBackup {
+public:
+  ScopedThreadLocalStateBackup() { Backup(); }
+  ~ScopedThreadLocalStateBackup() { Restore(); }
+  void Backup();
+  void Restore();
+private:
+  u64 va_arg_overflow_size_tls;
+};
 }  // namespace __msan
 
 #define MSAN_MALLOC_HOOK(ptr, size) \