diff options
author | Lang Hames <lhames@gmail.com> | 2016-11-30 01:12:07 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2016-11-30 01:12:07 +0000 |
commit | 90370702c5d20438d288c11063d734b932d31fa7 (patch) | |
tree | 7de97826d1b8d46ff3a407a10a10b3366484443e /llvm/lib | |
parent | 4edffbd28ca49233a03d1e59a313fc6db87d3422 (diff) | |
download | bcm5719-llvm-90370702c5d20438d288c11063d734b932d31fa7.tar.gz bcm5719-llvm-90370702c5d20438d288c11063d734b932d31fa7.zip |
[RuntimeDyld] Skip undefined symbols when building the symbol table.
Storing these in the symbol table (with zero values) is just wasted space.
llvm-svn: 288225
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index 82b582a8425..b1fa57875ed 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -205,6 +205,10 @@ RuntimeDyldImpl::loadObjectImpl(const object::ObjectFile &Obj) { ++I) { uint32_t Flags = I->getFlags(); + // Skip undefined symbols. + if (Flags & SymbolRef::SF_Undefined) + continue; + if (Flags & SymbolRef::SF_Common) CommonSymbols.push_back(*I); else { |