Skip to content

Commit

Permalink
Correcting some comments in PdbIndex.cpp [NFC]
Browse files Browse the repository at this point in the history
ICF can cause multiple symbols to start at the same virtual address.
I plan to handle this shortly, but I wanted to correct the comment for
now.

Deleted an obsolete comment about adjusting the offset for the magic
number at the beginning of the debug info stream.  This adjustment is
handled at a lower level now.

llvm-svn: 355943
  • Loading branch information
amccarth-google committed Mar 12, 2019
1 parent 8cf8bb1 commit 38d4a6c
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,8 @@ void PdbIndex::BuildAddrToSymbolMap(CompilandIndexItem &cci) {

PdbCompilandSymId cu_sym_id(modi, iter.offset());

// If the debug info is incorrect, we could have multiple symbols with the
// same address. So use try_emplace instead of insert, and the first one
// will win.
// It's rare, but we could have multiple symbols with the same address
// because of identical comdat folding. Right now, the first one will win.
cci.m_symbols_by_va.insert(std::make_pair(va, PdbSymUid(cu_sym_id)));
}
}
Expand Down Expand Up @@ -186,8 +185,6 @@ std::vector<SymbolAndUid> PdbIndex::FindSymbolsByVa(lldb::addr_t va) {
}

CVSymbol PdbIndex::ReadSymbolRecord(PdbCompilandSymId cu_sym) const {
// We need to subtract 4 here to adjust for the codeview debug magic
// at the beginning of the debug info stream.
const CompilandIndexItem *cci = compilands().GetCompiland(cu_sym.modi);
auto iter = cci->m_debug_stream.getSymbolArray().at(cu_sym.offset);
lldbassert(iter != cci->m_debug_stream.getSymbolArray().end());
Expand Down

0 comments on commit 38d4a6c

Please sign in to comment.