summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-10-08 06:38:50 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-10-08 06:38:50 +0000
commit5fbe324ff9b28c04fe62c9a1e40dc7893de5e979 (patch)
tree1fca2362abcadd7e364f5aee41b09f0fe00bda2f /llvm/lib/DebugInfo
parent2ca9a4a7ef325c3b05a321aca1a0763f6966c8bb (diff)
downloadbcm5719-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.cpp9
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));
OpenPOWER on IntegriCloud