summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorGreg Fitzgerald <gregf@codeaurora.org>2014-03-20 22:55:15 +0000
committerGreg Fitzgerald <gregf@codeaurora.org>2014-03-20 22:55:15 +0000
commit184322755108ae81b4e6e25e1fef7cd512024dfc (patch)
tree55d1d03519f5b07984d9f7b2c9ba3bef1a295062 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent7c41451bc935043f75157ec8aacc0fa423793faf (diff)
downloadbcm5719-llvm-184322755108ae81b4e6e25e1fef7cd512024dfc.tar.gz
bcm5719-llvm-184322755108ae81b4e6e25e1fef7cd512024dfc.zip
llvm-objdump output hex to match binutils' objdump
Patch by Ted Woodward llvm-svn: 204409
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index f5328a959e9..42bbf731ff9 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -382,6 +382,9 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
}
}
+ StringRef Fmt = Obj->getBytesInAddress() > 4 ? "\t\t%016" PRIx64 ": " :
+ "\t\t\t%08" PRIx64 ": ";
+
// Create a mapping, RelocSecs = SectionRelocMap[S], where sections
// in RelocSecs contain the relocations for section S.
error_code EC;
@@ -536,7 +539,7 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
if (error(rel_cur->getTypeName(name))) goto skip_print_rel;
if (error(rel_cur->getValueString(val))) goto skip_print_rel;
- outs() << format("\t\t\t%8" PRIx64 ": ", SectionAddr + addr) << name
+ outs() << format(Fmt.data(), SectionAddr + addr) << name
<< "\t" << val << "\n";
skip_print_rel:
@@ -548,6 +551,8 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
}
static void PrintRelocations(const ObjectFile *Obj) {
+ StringRef Fmt = Obj->getBytesInAddress() > 4 ? "%016" PRIx64 :
+ "%08" PRIx64;
for (const SectionRef &Section : Obj->sections()) {
if (Section.relocation_begin() == Section.relocation_end())
continue;
@@ -570,7 +575,8 @@ static void PrintRelocations(const ObjectFile *Obj) {
continue;
if (error(Reloc.getValueString(valuestr)))
continue;
- outs() << address << " " << relocname << " " << valuestr << "\n";
+ outs() << format(Fmt.data(), address) << " " << relocname << " "
+ << valuestr << "\n";
}
outs() << "\n";
}
OpenPOWER on IntegriCloud