From 90370702c5d20438d288c11063d734b932d31fa7 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Wed, 30 Nov 2016 01:12:07 +0000 Subject: [PATCH] [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 --- llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index 82b582a..b1fa578 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 { -- 2.7.4