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: