summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
diff options
context:
space:
mode:
authorKeno Fischer <kfischer@college.harvard.edu>2015-01-27 20:02:31 +0000
committerKeno Fischer <kfischer@college.harvard.edu>2015-01-27 20:02:31 +0000
commit88cc26811bdbd8055dd2cd84c89009c22adf4875 (patch)
treeac42a5aed96d2c6da4b86030211ed3d6c46dfe5c /llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
parent5f92a08fc051d921f75af0cab01ce6a5b255b9c4 (diff)
downloadbcm5719-llvm-88cc26811bdbd8055dd2cd84c89009c22adf4875.tar.gz
bcm5719-llvm-88cc26811bdbd8055dd2cd84c89009c22adf4875.zip
[ExecutionEngine] Add weak symbol support to RuntimeDyld
Support weak symbols by first looking up if there is an externally visible symbol we can find, and only if that fails using the one in the object file we're loading. Reviewed By: lhames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6950 llvm-svn: 227228
Diffstat (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
index 0f3ca0f2f39..a01b063831a 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
@@ -947,6 +947,7 @@ relocation_iterator RuntimeDyldELF::processRelocationRef(
break;
}
case SymbolRef::ST_Data:
+ case SymbolRef::ST_Function:
case SymbolRef::ST_Unknown: {
Value.SymbolName = TargetName.data();
Value.Addend = Addend;
OpenPOWER on IntegriCloud