aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2019-01-09 14:43:33 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2019-01-09 14:43:33 +0000
commit3ba0f3c0fb4474f4fc63c57cb7f533b97adf3064 (patch)
tree6465493c214953cc5112f9064025e3b90b0b77b8 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parentb61910bbe89b70ab5f0f415445a05d35164e33e5 (diff)
downloadllvm-3ba0f3c0fb4474f4fc63c57cb7f533b97adf3064.zip
llvm-3ba0f3c0fb4474f4fc63c57cb7f533b97adf3064.tar.gz
llvm-3ba0f3c0fb4474f4fc63c57cb7f533b97adf3064.tar.bz2
[llvm-objdump] - Print symbol addressed when dumping disassembly output (-d)
When GNU objdump dumps the input with -d it prints the symbol addresses, for example: 0000000000000031 <foo>: 31: 00 00 add %al,(%rax) ... llvm-objdump currently does not do that. Patch changes the behavior to match the GNU objdump. That is useful for implementing -z/--disassemble-zeroes (D56083), it allows omitting first zero bytes and keep the information about the symbol address in the output. Differential revision: https://reviews.llvm.org/D56123 llvm-svn: 350726
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index f2eb69a..22fd1eb 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -1592,6 +1592,9 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
}
outs() << '\n';
+ if (!NoLeadingAddr)
+ outs() << format("%016" PRIx64 " ", SectionAddr + Start);
+
StringRef SymbolName = std::get<1>(Symbols[si]);
if (Demangle)
outs() << demangle(SymbolName) << ":\n";