summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-11-30 01:12:07 +0000
committerLang Hames <lhames@gmail.com>2016-11-30 01:12:07 +0000
commit90370702c5d20438d288c11063d734b932d31fa7 (patch)
tree7de97826d1b8d46ff3a407a10a10b3366484443e /llvm/lib
parent4edffbd28ca49233a03d1e59a313fc6db87d3422 (diff)
downloadbcm5719-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.cpp4
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 {
OpenPOWER on IntegriCloud