diff options
Diffstat (limited to 'lib/MC/MCObjectSymbolizer.cpp')
-rw-r--r-- | lib/MC/MCObjectSymbolizer.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/MC/MCObjectSymbolizer.cpp b/lib/MC/MCObjectSymbolizer.cpp index ee2d9553ec..dc1253d629 100644 --- a/lib/MC/MCObjectSymbolizer.cpp +++ b/lib/MC/MCObjectSymbolizer.cpp @@ -153,14 +153,17 @@ tryAddingSymbolicOperand(MCInst &MI, raw_ostream &cStream, return false; uint64_t UValue = Value; // FIXME: map instead of looping each time? - for (symbol_iterator SI = Obj->symbol_begin(), SE = Obj->symbol_end(); - SI != SE; ++SI) { - uint64_t SymAddr; SI->getAddress(SymAddr); - uint64_t SymSize; SI->getSize(SymSize); - StringRef SymName; SI->getName(SymName); - SymbolRef::Type SymType; SI->getType(SymType); - if (SymAddr == UnknownAddressOrSize || SymSize == UnknownAddressOrSize - || SymName.empty() || SymType != SymbolRef::ST_Function) + for (const SymbolRef &Symbol : Obj->symbols()) { + uint64_t SymAddr; + Symbol.getAddress(SymAddr); + uint64_t SymSize; + Symbol.getSize(SymSize); + StringRef SymName; + Symbol.getName(SymName); + SymbolRef::Type SymType; + Symbol.getType(SymType); + if (SymAddr == UnknownAddressOrSize || SymSize == UnknownAddressOrSize || + SymName.empty() || SymType != SymbolRef::ST_Function) continue; if ( SymAddr == UValue || |