From 785a7c07c9bd2d4463b30a8539a716f020139551 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 6 Nov 2012 15:39:16 +0000 Subject: tsan: better diagnostics for failed mmap() git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@167462 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/sanitizer_common/sanitizer_posix.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/sanitizer_common/sanitizer_posix.cc b/lib/sanitizer_common/sanitizer_posix.cc index 035ddbcdb..d91a2e136 100644 --- a/lib/sanitizer_common/sanitizer_posix.cc +++ b/lib/sanitizer_common/sanitizer_posix.cc @@ -74,10 +74,14 @@ void UnmapOrDie(void *addr, uptr size) { } void *MmapFixedNoReserve(uptr fixed_addr, uptr size) { - return internal_mmap((void*)fixed_addr, size, + void *p = internal_mmap((void*)fixed_addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON | MAP_FIXED | MAP_NORESERVE, -1, 0); + if (p != (void*)fixed_addr) + Report("ERROR: Failed to deallocate 0x%zx (%zd) bytes at address %p (%d)\n", + size, size, fixed_addr, errno); + return p; } void *Mprotect(uptr fixed_addr, uptr size) { -- cgit v1.2.1