diff options
| author | Sam Clegg <sbc@chromium.org> | 2018-03-11 01:35:02 +0000 |
|---|---|---|
| committer | Sam Clegg <sbc@chromium.org> | 2018-03-11 01:35:02 +0000 |
| commit | c1be8230ef81c3dacaa1b0f8b4990666d63a0792 (patch) | |
| tree | d71d3d83d6736cd8a312a65ff70bd6a55c17936f /lld/wasm/InputChunks.cpp | |
| parent | 6d18d6e4d3d7cede100774a314d07c36b02ae4a4 (diff) | |
| download | bcm5719-llvm-c1be8230ef81c3dacaa1b0f8b4990666d63a0792.tar.gz bcm5719-llvm-c1be8230ef81c3dacaa1b0f8b4990666d63a0792.zip | |
[WebAssembly] Improve logging and comments around relocations. NFC.
Differential Revision: https://reviews.llvm.org/D44350
llvm-svn: 327232
Diffstat (limited to 'lld/wasm/InputChunks.cpp')
| -rw-r--r-- | lld/wasm/InputChunks.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lld/wasm/InputChunks.cpp b/lld/wasm/InputChunks.cpp index f5df6eb0eb1..585d1163147 100644 --- a/lld/wasm/InputChunks.cpp +++ b/lld/wasm/InputChunks.cpp @@ -23,6 +23,15 @@ using namespace llvm::support::endian; using namespace lld; using namespace lld::wasm; +StringRef ReloctTypeToString(uint8_t RelocType) { + switch (RelocType) { +#define WASM_RELOC(NAME, REL) case REL: return #NAME; +#include "llvm/BinaryFormat/WasmRelocs.def" +#undef WASM_RELOC + } + llvm_unreachable("unknown reloc type"); +} + std::string lld::toString(const InputChunk *C) { return (toString(C->File) + ":(" + C->getName() + ")").str(); } @@ -46,14 +55,14 @@ void InputChunk::writeTo(uint8_t *Buf) const { if (Relocations.empty()) return; - DEBUG(dbgs() << "applyRelocations: count=" << Relocations.size() << "\n"); + DEBUG(dbgs() << "applying relocations: count=" << Relocations.size() << "\n"); int32_t Off = OutputOffset - getInputSectionOffset(); for (const WasmRelocation &Rel : Relocations) { uint8_t *Loc = Buf + Rel.Offset + Off; - uint64_t Value = File->calcNewValue(Rel); - - DEBUG(dbgs() << "write reloc: type=" << Rel.Type << " index=" << Rel.Index + uint32_t Value = File->calcNewValue(Rel); + DEBUG(dbgs() << "apply reloc: type=" << ReloctTypeToString(Rel.Type) + << " addend=" << Rel.Addend << " index=" << Rel.Index << " value=" << Value << " offset=" << Rel.Offset << "\n"); switch (Rel.Type) { |

