Make memory dump same as the one in asan.
authorMartin Liska <mliska@suse.cz>
Tue, 26 Nov 2019 09:24:38 +0000 (10:24 +0100)
committerMartin Liska <mliska@suse.cz>
Wed, 27 Nov 2019 17:46:38 +0000 (18:46 +0100)
Shadow memory (and short granules) are not prepended with memory
address and arrow at the end of line is removed.

Differential Revision: https://reviews.llvm.org/D70707

compiler-rt/lib/hwasan/hwasan_report.cpp

index 606139f..5df8c0a 100644 (file)
@@ -371,12 +371,13 @@ static void PrintTagInfoAroundAddr(tag_t *tag_ptr, uptr num_rows,
   InternalScopedString s(GetPageSizeCached() * 8);
   for (tag_t *row = beg_row; row < end_row; row += row_len) {
     s.append("%s", row == center_row_beg ? "=>" : "  ");
+    s.append("%p:", row);
     for (uptr i = 0; i < row_len; i++) {
       s.append("%s", row + i == tag_ptr ? "[" : " ");
       print_tag(s, &row[i]);
       s.append("%s", row + i == tag_ptr ? "]" : " ");
     }
-    s.append("%s\n", row == center_row_beg ? "<=" : "  ");
+    s.append("\n");
   }
   Printf("%s", s.data());
 }