diff options
Diffstat (limited to 'llvm/lib/Object/SymbolSize.cpp')
-rw-r--r-- | llvm/lib/Object/SymbolSize.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Object/SymbolSize.cpp b/llvm/lib/Object/SymbolSize.cpp index 276deaaddd7..78d620503a8 100644 --- a/llvm/lib/Object/SymbolSize.cpp +++ b/llvm/lib/Object/SymbolSize.cpp @@ -52,7 +52,10 @@ llvm::object::computeSymbolSizes(const ObjectFile &O) { std::vector<std::pair<SymbolRef, uint64_t>> Ret; if (const auto *E = dyn_cast<ELFObjectFileBase>(&O)) { - for (SymbolRef Sym : E->symbols()) + auto Syms = E->symbols(); + if (Syms.begin() == Syms.end()) + Syms = E->getDynamicSymbolIterators(); + for (SymbolRef Sym : Syms) Ret.push_back({Sym, E->getSymbolSize(Sym)}); return Ret; } |