]> granicus.if.org Git - llvm/commitdiff
[objdump] Moving PrintImmHex out of MachODump and in to llvm-objdump and setting...
authorColin LeMahieu <colinl@codeaurora.org>
Sun, 7 Jun 2015 21:07:17 +0000 (21:07 +0000)
committerColin LeMahieu <colinl@codeaurora.org>
Sun, 7 Jun 2015 21:07:17 +0000 (21:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239265 91177308-0d34-0410-b5e6-96231b3b80d8

test/MC/X86/hex-immediates.s [new file with mode: 0644]
tools/llvm-objdump/MachODump.cpp
tools/llvm-objdump/llvm-objdump.cpp
tools/llvm-objdump/llvm-objdump.h

diff --git a/test/MC/X86/hex-immediates.s b/test/MC/X86/hex-immediates.s
new file mode 100644 (file)
index 0000000..03f3042
--- /dev/null
@@ -0,0 +1,10 @@
+# RUN: llvm-mc -filetype=obj %s -triple=x86_64-apple-darwin9 | llvm-objdump -d --print-imm-hex - | FileCheck %s
+
+# CHECK: movabsq       $0x7fffffffffffffff, %rcx
+movabsq        $0x7fffffffffffffff, %rcx
+# CHECK: leaq  0x3e2(%rip), %rdi
+leaq   0x3e2(%rip), %rdi
+# CHECK: subq  $0x40, %rsp
+subq   $0x40, %rsp
+# CHECK: leal  (,%r14,4), %eax
+leal   (,%r14,4), %eax
index f5e39fc073d2b0a06ba43e5ccac930337b7bfae2..bf7451eb86d7f05ba2f1f0a2329aba141c34b9a2 100644 (file)
@@ -67,10 +67,6 @@ static cl::opt<bool> FullLeadingAddr("full-leading-addr",
 static cl::opt<bool> NoLeadingAddr("no-leading-addr",
                                    cl::desc("Print no leading address"));
 
-static cl::opt<bool>
-    PrintImmHex("print-imm-hex",
-                cl::desc("Use hex format for immediate values"));
-
 cl::opt<bool> llvm::UniversalHeaders("universal-headers",
                                      cl::desc("Print Mach-O universal headers "
                                               "(requires -macho)"));
index 58f6db0465d42175c614d1d1e0c0cbb68200515e..1460fb0f0abb1c935d710547f4f6c76a67ba54ac 100644 (file)
@@ -149,6 +149,10 @@ static cl::alias
 PrivateHeadersShort("p", cl::desc("Alias for --private-headers"),
                     cl::aliasopt(PrivateHeaders));
 
+cl::opt<bool>
+    llvm::PrintImmHex("print-imm-hex",
+                      cl::desc("Use hex format for immediate values"));
+
 static StringRef ToolName;
 static int ReturnValue = EXIT_SUCCESS;
 
@@ -743,6 +747,7 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
       << '\n';
     return;
   }
+  IP->setPrintImmHex(PrintImmHex);
   PrettyPrinter &PIP = selectPrettyPrinter(Triple(TripleName));
 
   StringRef Fmt = Obj->getBytesInAddress() > 4 ? "\t\t%016" PRIx64 ":  " :
index 276bdffb9f4bc6ee1aec76da8aa4490955f2e470..b4d34f4033bcfa1de5e3d0c0b0254d80f8f185d9 100644 (file)
@@ -51,6 +51,7 @@ extern cl::opt<bool> SectionHeaders;
 extern cl::opt<bool> SectionContents;
 extern cl::opt<bool> SymbolTable;
 extern cl::opt<bool> UnwindInfo;
+extern cl::opt<bool> PrintImmHex;
 
 // Various helper functions.
 bool error(std::error_code ec);