[llvm] r288225 - [RuntimeDyld] Skip undefined symbols when building the symbol table.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 29 17:12:07 PST 2016


Author: lhames
Date: Tue Nov 29 19:12:07 2016
New Revision: 288225

URL: http://llvm.org/viewvc/llvm-project?rev=288225&view=rev
Log:
[RuntimeDyld] Skip undefined symbols when building the symbol table.

Storing these in the symbol table (with zero values) is just wasted space.


Modified:
    llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp

Modified: llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp?rev=288225&r1=288224&r2=288225&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp Tue Nov 29 19:12:07 2016
@@ -205,6 +205,10 @@ RuntimeDyldImpl::loadObjectImpl(const ob
        ++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 {




More information about the llvm-commits mailing list