[llvm-commits] [compiler-rt] r146663 - in /compiler-rt/trunk/lib/asan: asan_globals.cc asan_internal.h asan_rtl.cc

Kostya Serebryany kcc at google.com
Thu Dec 15 09:41:30 PST 2011


Author: kcc
Date: Thu Dec 15 11:41:30 2011
New Revision: 146663

URL: http://llvm.org/viewvc/llvm-project?rev=146663&view=rev
Log:
[asan] poison the internal asan heap memory, just in case. Change Printf to Report when debugging globals.

Modified:
    compiler-rt/trunk/lib/asan/asan_globals.cc
    compiler-rt/trunk/lib/asan/asan_internal.h
    compiler-rt/trunk/lib/asan/asan_rtl.cc

Modified: compiler-rt/trunk/lib/asan/asan_globals.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_globals.cc?rev=146663&r1=146662&r2=146663&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_globals.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_globals.cc Thu Dec 15 11:41:30 2011
@@ -117,7 +117,7 @@
   l->next = list_of_globals;
   list_of_globals = l;
   if (FLAG_report_globals >= 2)
-    Printf("Added Global: beg=%p size=%ld name=%s\n",
+    Report("Added Global: beg=%p size=%ld name=%s\n",
            g->beg, g->size, g->name);
 }
 

Modified: compiler-rt/trunk/lib/asan/asan_internal.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_internal.h?rev=146663&r1=146662&r2=146663&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_internal.h (original)
+++ compiler-rt/trunk/lib/asan/asan_internal.h Thu Dec 15 11:41:30 2011
@@ -180,6 +180,7 @@
 const int kAsanStackAfterReturnMagic = 0xf5;
 const int kAsanUserPoisonedMemoryMagic = 0xf7;
 const int kAsanGlobalRedzoneMagic = 0xf9;
+const int kAsanInternalHeapMagic = 0xfe;
 
 static const uintptr_t kCurrentStackFrameMagic = 0x41B58AB3;
 static const uintptr_t kRetiredStackFrameMagic = 0x45E0360E;

Modified: compiler-rt/trunk/lib/asan/asan_rtl.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_rtl.cc?rev=146663&r1=146662&r2=146663&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_rtl.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_rtl.cc Thu Dec 15 11:41:30 2011
@@ -178,6 +178,8 @@
                                           MAP_PRIVATE | MAP_ANON, -1, 0);
     CHECK((allocated_current_ != (char*)-1) && "Can't mmap");
     allocated_end_ = allocated_current_ + size_to_allocate;
+    PoisonShadow((uintptr_t)allocated_current_, size_to_allocate,
+                 kAsanInternalHeapMagic);
   }
   CHECK(allocated_end_ - allocated_current_ >= size);
   void *res = allocated_current_;





More information about the llvm-commits mailing list