diff options
author | Yury Gribov <y.gribov@samsung.com> | 2015-12-10 11:07:19 +0000 |
---|---|---|
committer | Yury Gribov <y.gribov@samsung.com> | 2015-12-10 11:07:19 +0000 |
commit | 6b9dc3d524a0af915b2540187c576c5bda458a29 (patch) | |
tree | 3dc96d3388dea8910d56759a091b14bf1c442429 /lib/asan | |
parent | 41d87a092f6f632dff4dd11da1460dc17c86ce94 (diff) |
[asan] Use atomic_uintptr_t instead of atomic_uint64_t in SuppressErrorReport.
Some targets (e.g. Mips) don't have 64-bit atomics, so using atomic_uint64_t
leads to build failures. Use atomic_uintptr_t to avoid such errors.
Patch by Max Ostapenko.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255242 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan')
-rw-r--r-- | lib/asan/asan_report.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/asan/asan_report.cc b/lib/asan/asan_report.cc index b9e654e6a..0fb60846c 100644 --- a/lib/asan/asan_report.cc +++ b/lib/asan/asan_report.cc @@ -32,7 +32,7 @@ static char *error_message_buffer = nullptr; static uptr error_message_buffer_pos = 0; static BlockingMutex error_message_buf_mutex(LINKER_INITIALIZED); static const unsigned kAsanBuggyPcPoolSize = 25; -static __sanitizer::atomic_uint64_t AsanBuggyPcPool[kAsanBuggyPcPoolSize]; +static __sanitizer::atomic_uintptr_t AsanBuggyPcPool[kAsanBuggyPcPoolSize]; struct ReportData { uptr pc; @@ -1007,7 +1007,7 @@ void ReportMacMzReallocUnknown(uptr addr, uptr zone_ptr, const char *zone_name, static bool SuppressErrorReport(uptr pc) { if (!common_flags()->suppress_equal_pcs) return false; for (unsigned i = 0; i < kAsanBuggyPcPoolSize; i++) { - u64 cmp = atomic_load_relaxed(&AsanBuggyPcPool[i]); + uptr cmp = atomic_load_relaxed(&AsanBuggyPcPool[i]); if (cmp == 0 && atomic_compare_exchange_strong(&AsanBuggyPcPool[i], &cmp, pc, memory_order_relaxed)) return false; |