[llvm-commits] [compiler-rt] r167462 - /compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cc

Dmitry Vyukov dvyukov at google.com
Tue Nov 6 07:39:16 PST 2012


Author: dvyukov
Date: Tue Nov  6 09:39:16 2012
New Revision: 167462

URL: http://llvm.org/viewvc/llvm-project?rev=167462&view=rev
Log:
tsan: better diagnostics for failed mmap()

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cc?rev=167462&r1=167461&r2=167462&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cc Tue Nov  6 09:39:16 2012
@@ -74,10 +74,14 @@
 }
 
 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) {





More information about the llvm-commits mailing list