<div dir="ltr">Could you add a test case?</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jun 18, 2018 at 3:36 AM Paul Semel via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">paulsemel created this revision.<br>
paulsemel added reviewers: echristo, dblaikie.<br>
<br>
We were printing every character, even those that weren't printable. It doesn't really make sense for this option.<br>
<br>
The string content was sticked to its address, added two spaces in between (this matches GNU readelf behavior)<br>
<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="https://reviews.llvm.org/D48271" rel="noreferrer" target="_blank">https://reviews.llvm.org/D48271</a><br>
<br>
Files:<br>
  tools/llvm-readobj/ELFDumper.cpp<br>
<br>
<br>
Index: tools/llvm-readobj/ELFDumper.cpp<br>
===================================================================<br>
--- tools/llvm-readobj/ELFDumper.cpp<br>
+++ tools/llvm-readobj/ELFDumper.cpp<br>
@@ -3243,8 +3243,14 @@<br>
       CurrentWord++;<br>
       continue;<br>
     }<br>
-    OS << format("[%6tx]", CurrentWord - SecContent);<br>
-    OS << format(" %.*s\n", WordSize, CurrentWord);<br>
+    OS << format("[%6tx]  ", CurrentWord - SecContent);<br>
+    for (size_t i = 0; i < WordSize; ++i) {<br>
+      if (isprint(CurrentWord[i]))<br>
+        OS << CurrentWord[i];<br>
+      else<br>
+        OS << '.';<br>
+    }<br>
+    OS << '\n';<br>
     CurrentWord += WordSize + 1;<br>
   }<br>
   OS.flush();<br>
@@ -4270,8 +4276,14 @@<br>
     W.startLine() << "["<br>
                   << to_string(<br>
                          format_hex_no_prefix((CurrentWord - SecContent), 6))<br>
-                  << "]";<br>
-    W.startLine() << format(" %.*s\n", WordSize, CurrentWord);<br>
+                  << "]  ";<br>
+    for (size_t i = 0; i < WordSize; ++i) {<br>
+      if (isprint(CurrentWord[i]))<br>
+        W.startLine() << CurrentWord[i];<br>
+      else<br>
+        W.startLine() << '.';<br>
+    }<br>
+    W.startLine() << '\n';<br>
     CurrentWord += WordSize + 1;<br>
   }<br>
 }<br>
<br>
<br>
</blockquote></div>