From c173a703b546185ae55069b09c9281e8e3ecd074 Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Thu, 13 Sep 2018 19:14:22 +0000 Subject: [PATCH] [hwasan] use a single Printf per line when printing a report (more friendly to android logging) llvm-svn: 342164 --- compiler-rt/lib/hwasan/hwasan_report.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/compiler-rt/lib/hwasan/hwasan_report.cc b/compiler-rt/lib/hwasan/hwasan_report.cc index 4c6c8b9..5711576 100644 --- a/compiler-rt/lib/hwasan/hwasan_report.cc +++ b/compiler-rt/lib/hwasan/hwasan_report.cc @@ -192,14 +192,17 @@ static void PrintTagsAroundAddr(tag_t *tag_ptr) { RoundDownTo(reinterpret_cast(tag_ptr), row_len)); tag_t *beg_row = center_row_beg - row_len * (num_rows / 2); tag_t *end_row = center_row_beg + row_len * (num_rows / 2); + InternalScopedString s(GetPageSizeCached()); for (tag_t *row = beg_row; row < end_row; row += row_len) { - Printf("%s", row == center_row_beg ? "=>" : " "); + s.append("%s", row == center_row_beg ? "=>" : " "); for (uptr i = 0; i < row_len; i++) { - Printf("%s", row + i == tag_ptr ? "[" : " "); - Printf("%02x", row[i]); - Printf("%s", row + i == tag_ptr ? "]" : " "); + s.append("%s", row + i == tag_ptr ? "[" : " "); + s.append("%02x", row[i]); + s.append("%s", row + i == tag_ptr ? "]" : " "); } - Printf("%s\n", row == center_row_beg ? "<=" : " "); + s.append("%s\n", row == center_row_beg ? "<=" : " "); + Printf("%s", s.data()); + s.clear(); } } -- 2.7.4