diff options
author | Sam Clegg <sbc@chromium.org> | 2018-05-01 16:35:16 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2018-05-01 16:35:16 +0000 |
commit | 73812167109e7167f64d1dcae4c20c0ebbfe802d (patch) | |
tree | 1392b930fa8200dc34253be5225b1f6b01cdfe82 /llvm/tools/llvm-readobj | |
parent | 478a6a9e63f03f7c47dcece4fc1d2fc791e53dcf (diff) | |
download | bcm5719-llvm-73812167109e7167f64d1dcae4c20c0ebbfe802d.tar.gz bcm5719-llvm-73812167109e7167f64d1dcae4c20c0ebbfe802d.zip |
[WebAssembly] llvm-readobj: display symbols names in relocations
Differential Revision: https://reviews.llvm.org/D46296
llvm-svn: 331279
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r-- | llvm/tools/llvm-readobj/WasmDumper.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/llvm/tools/llvm-readobj/WasmDumper.cpp b/llvm/tools/llvm-readobj/WasmDumper.cpp index 562c76f85be..ce224836225 100644 --- a/llvm/tools/llvm-readobj/WasmDumper.cpp +++ b/llvm/tools/llvm-readobj/WasmDumper.cpp @@ -80,6 +80,11 @@ void WasmDumper::printRelocation(const SectionRef &Section, Reloc.getTypeName(RelocTypeName); const wasm::WasmRelocation &WasmReloc = Obj->getWasmRelocation(Reloc); + StringRef SymName; + symbol_iterator SI = Reloc.getSymbol(); + if (SI != Obj->symbol_end()) + SymName = error(SI->getName()); + bool HasAddend = false; switch (RelocType) { case wasm::R_WEBASSEMBLY_MEMORY_ADDR_LEB: @@ -96,13 +101,19 @@ void WasmDumper::printRelocation(const SectionRef &Section, DictScope Group(W, "Relocation"); W.printNumber("Type", RelocTypeName, RelocType); W.printHex("Offset", Reloc.getOffset()); - W.printHex("Index", WasmReloc.Index); + if (!SymName.empty()) + W.printString("Symbol", SymName); + else + W.printHex("Index", WasmReloc.Index); if (HasAddend) W.printNumber("Addend", WasmReloc.Addend); } else { raw_ostream& OS = W.startLine(); - OS << W.hex(Reloc.getOffset()) << " " << RelocTypeName << "[" - << WasmReloc.Index << "]"; + OS << W.hex(Reloc.getOffset()) << " " << RelocTypeName << " "; + if (!SymName.empty()) + OS << SymName; + else + OS << WasmReloc.Index; if (HasAddend) OS << " " << WasmReloc.Addend; OS << "\n"; |