diff options
Diffstat (limited to 'lib/DebugInfo/DWARF')
| -rw-r--r-- | lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp | 2 | ||||
| -rw-r--r-- | lib/DebugInfo/DWARF/DWARFContext.cpp | 9 | ||||
| -rw-r--r-- | lib/DebugInfo/DWARF/DWARFFormValue.cpp | 2 | ||||
| -rw-r--r-- | lib/DebugInfo/DWARF/SyntaxHighlighting.h | 6 |
4 files changed, 12 insertions, 7 deletions
diff --git a/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp b/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp index 8ae05432869a..fd33c7d54749 100644 --- a/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp +++ b/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp @@ -129,4 +129,4 @@ void DWARFAcceleratorTable::dump(raw_ostream &OS) const { } } } -} +} // namespace llvm diff --git a/lib/DebugInfo/DWARF/DWARFContext.cpp b/lib/DebugInfo/DWARF/DWARFContext.cpp index baab3873b915..32654f830f07 100644 --- a/lib/DebugInfo/DWARF/DWARFContext.cpp +++ b/lib/DebugInfo/DWARF/DWARFContext.cpp @@ -674,7 +674,7 @@ DWARFContextInMemory::DWARFContextInMemory(const object::ObjectFile &Obj, uint64_t SymAddr = 0; uint64_t SectionLoadAddress = 0; object::symbol_iterator Sym = Reloc.getSymbol(); - object::section_iterator RSec = Reloc.getSection(); + object::section_iterator RSec = Obj.section_end(); // First calculate the address of the symbol or section as it appears // in the objct file @@ -682,8 +682,13 @@ DWARFContextInMemory::DWARFContextInMemory(const object::ObjectFile &Obj, Sym->getAddress(SymAddr); // Also remember what section this symbol is in for later Sym->getSection(RSec); - } else if (RSec != Obj.section_end()) + } else if (auto *MObj = dyn_cast<MachOObjectFile>(&Obj)) { + // MachO also has relocations that point to sections and + // scattered relocations. + // FIXME: We are not handling scattered relocations, do we have to? + RSec = MObj->getRelocationSection(Reloc.getRawDataRefImpl()); SymAddr = RSec->getAddress(); + } // If we are given load addresses for the sections, we need to adjust: // SymAddr = (Address of Symbol Or Section in File) - diff --git a/lib/DebugInfo/DWARF/DWARFFormValue.cpp b/lib/DebugInfo/DWARF/DWARFFormValue.cpp index 53a676efaf3f..48e1d55be5f7 100644 --- a/lib/DebugInfo/DWARF/DWARFFormValue.cpp +++ b/lib/DebugInfo/DWARF/DWARFFormValue.cpp @@ -61,7 +61,7 @@ ArrayRef<uint8_t> makeFixedFormSizesArrayRef() { }; return makeArrayRef(sizes); } -} +} // namespace ArrayRef<uint8_t> DWARFFormValue::getFixedFormSizes(uint8_t AddrSize, uint16_t Version) { diff --git a/lib/DebugInfo/DWARF/SyntaxHighlighting.h b/lib/DebugInfo/DWARF/SyntaxHighlighting.h index 946a31308aa1..84afd37c540a 100644 --- a/lib/DebugInfo/DWARF/SyntaxHighlighting.h +++ b/lib/DebugInfo/DWARF/SyntaxHighlighting.h @@ -32,8 +32,8 @@ public: llvm::raw_ostream& get() { return OS; } operator llvm::raw_ostream& () { return OS; } }; -} -} -} +} // namespace syntax +} // namespace dwarf +} // namespace llvm #endif |
