[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