diff options
author | Lang Hames <lhames@gmail.com> | 2016-08-18 00:22:34 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2016-08-18 00:22:34 +0000 |
commit | 1d39cb16ecff71d26927f514970d65cb435d2716 (patch) | |
tree | c134b4df550ba1fe20460ea64d88a358c4b33a22 /llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | |
parent | eccffada338fe084676876138b2e5e183d708757 (diff) | |
download | bcm5719-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.cpp | 4 |
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 |