[compiler-rt] 96a5aab - [NFC][sanitizer] Thread safety annotation for Symbolizer

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 4 23:00:25 PDT 2024


Author: Vitaly Buka
Date: 2024-09-04T23:00:13-07:00
New Revision: 96a5aabbd6adada4525d5e0107e96e6f57dbdfbf

URL: https://github.com/llvm/llvm-project/commit/96a5aabbd6adada4525d5e0107e96e6f57dbdfbf
DIFF: https://github.com/llvm/llvm-project/commit/96a5aabbd6adada4525d5e0107e96e6f57dbdfbf.diff

LOG: [NFC][sanitizer] Thread safety annotation for Symbolizer

Added: 
    

Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
index 16ef2f2fd717b9..bd89dc4e302fc9 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
@@ -185,17 +185,17 @@ class Symbolizer final {
   class ModuleNameOwner {
    public:
     explicit ModuleNameOwner(Mutex *synchronized_by)
-        : last_match_(nullptr), mu_(synchronized_by) {
+        : mu_(synchronized_by), last_match_(nullptr) {
       storage_.reserve(kInitialCapacity);
     }
     const char *GetOwnedCopy(const char *str);
 
    private:
     static const uptr kInitialCapacity = 1000;
-    InternalMmapVector<const char*> storage_;
-    const char *last_match_;
 
     Mutex *mu_;
+    const char *last_match_ SANITIZER_GUARDED_BY(mu_);
+    InternalMmapVector<const char *> storage_ SANITIZER_GUARDED_BY(*mu_);
   } module_names_;
 
   /// Platform-specific function for creating a Symbolizer object.
@@ -220,7 +220,7 @@ class Symbolizer final {
   // always synchronized.
   Mutex mu_;
 
-  IntrusiveList<SymbolizerTool> tools_;
+  IntrusiveList<SymbolizerTool> tools_ SANITIZER_GUARDED_BY(mu_);
 
   explicit Symbolizer(IntrusiveList<SymbolizerTool> tools);
 


        


More information about the llvm-commits mailing list