summaryrefslogtreecommitdiff
path: root/lib/asan
diff options
context:
space:
mode:
authorYury Gribov <y.gribov@samsung.com>2015-12-10 11:07:19 +0000
committerYury Gribov <y.gribov@samsung.com>2015-12-10 11:07:19 +0000
commit6b9dc3d524a0af915b2540187c576c5bda458a29 (patch)
tree3dc96d3388dea8910d56759a091b14bf1c442429 /lib/asan
parent41d87a092f6f632dff4dd11da1460dc17c86ce94 (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.cc4
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;