aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorLiad Mordekoviz <liad.mordekoviz@gmail.com>2020-02-11 11:10:57 +0000
committerJames Henderson <james.henderson@sony.com>2020-02-12 10:57:15 +0000
commit740bc366d44ccd41161739bc1d4b447cd49aba65 (patch)
tree42df7b64252e4228af54369ebf8e60e9733b0b97 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parente144620b37f3b6852ddbfb2905db00b1a187a1d5 (diff)
downloadllvm-740bc366d44ccd41161739bc1d4b447cd49aba65.zip
llvm-740bc366d44ccd41161739bc1d4b447cd49aba65.tar.gz
llvm-740bc366d44ccd41161739bc1d4b447cd49aba65.tar.bz2
[llvm-objdump] Add column headers for relocation printing
This allows us better readability and compatibility with what GNU objdump prints. Fixes https://bugs.llvm.org/show_bug.cgi?id=43941 Reviewed by: jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D72992
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 a1c37bc..a82fbb2 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -1645,6 +1645,11 @@ void printRelocations(const ObjectFile *Obj) {
for (std::pair<SectionRef, std::vector<SectionRef>> &P : SecToRelSec) {
StringRef SecName = unwrapOrError(P.first.getName(), Obj->getFileName());
outs() << "RELOCATION RECORDS FOR [" << SecName << "]:\n";
+ uint32_t OffsetPadding = (Obj->getBytesInAddress() > 4 ? 16 : 8);
+ uint32_t TypePadding = 24;
+ outs() << left_justify("OFFSET", OffsetPadding) << " "
+ << left_justify("TYPE", TypePadding) << " "
+ << "VALUE\n";
for (SectionRef Section : P.second) {
for (const RelocationRef &Reloc : Section.relocations()) {
@@ -1657,8 +1662,9 @@ void printRelocations(const ObjectFile *Obj) {
if (Error E = getRelocationValueString(Reloc, ValueStr))
reportError(std::move(E), Obj->getFileName());
- outs() << format(Fmt.data(), Address) << " " << RelocName << " "
- << ValueStr << "\n";
+ outs() << format(Fmt.data(), Address) << " "
+ << left_justify(RelocName, TypePadding) << " " << ValueStr
+ << "\n";
}
}
outs() << "\n";