summaryrefslogtreecommitdiff
path: root/lib/msan/msan.cc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-04-30 09:50:30 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-04-30 09:50:30 +0000
commit0fc1b29be3577a26b3a0c4d07a8b4546325f2f4e (patch)
treeaae5fea515ec8a25837388787a7132b8bc72fb26 /lib/msan/msan.cc
parentf12563813dca2c5861774e472c91fa9e01fac9f4 (diff)
[msan] Prettify __msan_print_shadow.
Makes __msan_print_shadow output much more readable, adds origin info. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@207622 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/msan/msan.cc')
-rw-r--r--lib/msan/msan.cc17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/msan/msan.cc b/lib/msan/msan.cc
index 8bf7c48ac..1df4fb8df 100644
--- a/lib/msan/msan.cc
+++ b/lib/msan/msan.cc
@@ -383,18 +383,21 @@ void __msan_print_shadow(const void *x, uptr size) {
Printf("Not a valid application address: %p\n", x);
return;
}
+
+ DescribeMemoryRange(x, size);
+}
+
+void __msan_dump_shadow(const void *x, uptr size) {
+ if (!MEM_IS_APP(x)) {
+ Printf("Not a valid application address: %p\n", x);
+ return;
+ }
+
unsigned char *s = (unsigned char*)MEM_TO_SHADOW(x);
- u32 *o = (u32*)MEM_TO_ORIGIN(x);
for (uptr i = 0; i < size; i++) {
Printf("%x%x ", s[i] >> 4, s[i] & 0xf);
}
Printf("\n");
- if (__msan_get_track_origins()) {
- for (uptr i = 0; i < size / 4; i++) {
- Printf(" o: %x ", o[i]);
- }
- Printf("\n");
- }
}
sptr __msan_test_shadow(const void *x, uptr size) {