Module Name:    src
Committed By:   hannken
Date:           Wed Apr  5 07:41:38 UTC 2023

Modified Files:
        src/external/gpl3/gcc.old/dist/libsanitizer/sanitizer_common:
            sanitizer_mutex.h

Log Message:
Fix StaticSpinMutex::CheckLocked() on sparc32.

The lock gets set with atomic_exchange() -> __sync_lock_test_and_set()
which sets the value to 255 instead of 1.  Check for a taken lock
with "!= 0" instead of "== 1".  This should work on all architectures.

Ok: Matthew Green


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
    
src/external/gpl3/gcc.old/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc.old/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h
diff -u src/external/gpl3/gcc.old/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:1.8 src/external/gpl3/gcc.old/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:1.9
--- src/external/gpl3/gcc.old/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h:1.8	Fri Apr  9 23:14:55 2021
+++ src/external/gpl3/gcc.old/dist/libsanitizer/sanitizer_common/sanitizer_mutex.h	Wed Apr  5 07:41:38 2023
@@ -39,7 +39,7 @@ class StaticSpinMutex {
   }
 
   void CheckLocked() {
-    CHECK_EQ(atomic_load(&state_, memory_order_relaxed), 1);
+    CHECK_NE(atomic_load(&state_, memory_order_relaxed), 0);
   }
 
  private:

Reply via email to