Add the -no-show-raw-insn option to llvm-objdump, thus making it a bit more
authorEli Bendersky <eliben@google.com>
Tue, 20 Nov 2012 22:57:02 +0000 (22:57 +0000)
committerEli Bendersky <eliben@google.com>
Tue, 20 Nov 2012 22:57:02 +0000 (22:57 +0000)
conformant to binutils objdump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168393 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-objdump/llvm-objdump.cpp

index 13ea4e32958a2b3d2522e8a1d8a963052e9304f8..ddfcca39381cfe2167fb44cec25dcfffc937a148 100644 (file)
@@ -100,6 +100,10 @@ MAttrs("mattr",
   cl::desc("Target specific attributes"),
   cl::value_desc("a1,+a2,-a3,..."));
 
+static cl::opt<bool>
+NoShowRawInsn("no-show-raw-insn", cl::desc("When disassembling instructions, "
+                                           "do not print the instruction bytes."));
+
 static StringRef ToolName;
 
 static bool error(error_code ec) {
@@ -321,8 +325,11 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
 
         if (DisAsm->getInstruction(Inst, Size, memoryObject, Index,
                                    DebugOut, nulls())) {
-          outs() << format("%8" PRIx64 ":\t", SectionAddr + Index);
-          DumpBytes(StringRef(Bytes.data() + Index, Size));
+          outs() << format("%8" PRIx64 ":", SectionAddr + Index);
+          if (!NoShowRawInsn) {
+            outs() << "\t";
+            DumpBytes(StringRef(Bytes.data() + Index, Size));
+          }
           IP->printInst(&Inst, outs(), "");
           outs() << "\n";
         } else {