diff options
Diffstat (limited to 'llvm/tools/dsymutil/MachODebugMapParser.cpp')
| -rw-r--r-- | llvm/tools/dsymutil/MachODebugMapParser.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/tools/dsymutil/MachODebugMapParser.cpp b/llvm/tools/dsymutil/MachODebugMapParser.cpp index bec95915a0f..76fc7612e68 100644 --- a/llvm/tools/dsymutil/MachODebugMapParser.cpp +++ b/llvm/tools/dsymutil/MachODebugMapParser.cpp @@ -197,10 +197,14 @@ void MachODebugMapParser::loadCurrentObjectFileSymbols() { CurrentObjectAddresses.clear(); for (auto Sym : CurrentObjectHolder.Get().symbols()) { - - uint64_t Addr = Sym.getValue(); - if (Addr == UnknownAddress) - continue; + uint64_t Addr; + if (Sym.getFlags() & SymbolRef::SF_Common) { + Addr = Sym.getCommonSize(); + } else { + Addr = Sym.getValue(); + if (Addr == UnknownAddress) + continue; + } ErrorOr<StringRef> Name = Sym.getName(); if (!Name) continue; |

