[compiler-rt] r255242 - [asan] Use atomic_uintptr_t instead of atomic_uint64_t in SuppressErrorReport.
Yury Gribov via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 10 03:07:20 PST 2015
Author: ygribov
Date: Thu Dec 10 05:07:19 2015
New Revision: 255242
URL: http://llvm.org/viewvc/llvm-project?rev=255242&view=rev
Log:
[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.
Modified:
compiler-rt/trunk/lib/asan/asan_report.cc
Modified: compiler-rt/trunk/lib/asan/asan_report.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_report.cc?rev=255242&r1=255241&r2=255242&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_report.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_report.cc Thu Dec 10 05:07:19 2015
@@ -32,7 +32,7 @@ static char *error_message_buffer = null
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
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;
More information about the llvm-commits
mailing list