summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-08-18 00:22:34 +0000
committerLang Hames <lhames@gmail.com>2016-08-18 00:22:34 +0000
commit1d39cb16ecff71d26927f514970d65cb435d2716 (patch)
treec134b4df550ba1fe20460ea64d88a358c4b33a22 /llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
parenteccffada338fe084676876138b2e5e183d708757 (diff)
downloadbcm5719-llvm-1d39cb16ecff71d26927f514970d65cb435d2716.tar.gz
bcm5719-llvm-1d39cb16ecff71d26927f514970d65cb435d2716.zip
[RuntimeDyld] Strip leading '_' from symbols on 32-bit windows in
RTDyldMemoryManager::getSymbolAddressInProcess() This should allow JIT'd code for win32 to find in-process symbols. See http://llvm.org/PR28699 . Patch by James Holderness. Thanks James! llvm-svn: 279016
Diffstat (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
index e39acc7ee14..3fbca3506eb 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
@@ -265,8 +265,8 @@ RTDyldMemoryManager::getSymbolAddressInProcess(const std::string &Name) {
const char *NameStr = Name.c_str();
// DynamicLibrary::SearchForAddresOfSymbol expects an unmangled 'C' symbol
- // name so ff we're on Darwin, strip the leading '_' off.
-#ifdef __APPLE__
+ // name so if we're on Darwin or 32-bit Windows, strip the leading '_' off.
+#if defined(__APPLE__) || (defined(_WIN32) && !defined(_WIN64))
if (NameStr[0] == '_')
++NameStr;
#endif
OpenPOWER on IntegriCloud