diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2014-10-08 06:38:50 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2014-10-08 06:38:50 +0000 |
| commit | 5fbe324ff9b28c04fe62c9a1e40dc7893de5e979 (patch) | |
| tree | 1fca2362abcadd7e364f5aee41b09f0fe00bda2f /llvm/lib/DebugInfo | |
| parent | 2ca9a4a7ef325c3b05a321aca1a0763f6966c8bb (diff) | |
| download | bcm5719-llvm-5fbe324ff9b28c04fe62c9a1e40dc7893de5e979.tar.gz bcm5719-llvm-5fbe324ff9b28c04fe62c9a1e40dc7893de5e979.zip | |
llvm-dwarfdump: Add support for some COFF relocations
DWARF in COFF utilizes several relocations. Implement support for them
in RelocVisitor to support llvm-dwarfdump.
llvm-svn: 219280
Diffstat (limited to 'llvm/lib/DebugInfo')
| -rw-r--r-- | llvm/lib/DebugInfo/DWARFContext.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/DebugInfo/DWARFContext.cpp b/llvm/lib/DebugInfo/DWARFContext.cpp index 2cacfd9b949..a1216391bd9 100644 --- a/llvm/lib/DebugInfo/DWARFContext.cpp +++ b/llvm/lib/DebugInfo/DWARFContext.cpp @@ -620,15 +620,12 @@ DWARFContextInMemory::DWARFContextInMemory(object::ObjectFile &Obj) uint64_t Type; Reloc.getType(Type); uint64_t SymAddr = 0; - // ELF relocations may need the symbol address - if (Obj.isELF()) { - object::symbol_iterator Sym = Reloc.getSymbol(); + object::symbol_iterator Sym = Reloc.getSymbol(); + if (Sym != Obj.symbol_end()) Sym->getAddress(SymAddr); - } object::RelocVisitor V(Obj); - // The section address is always 0 for debug sections. - object::RelocToApply R(V.visit(Type, Reloc, 0, SymAddr)); + object::RelocToApply R(V.visit(Type, Reloc, SymAddr)); if (V.error()) { SmallString<32> Name; std::error_code ec(Reloc.getTypeName(Name)); |

