diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2008-06-06 07:20:07 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2008-06-06 07:20:07 +0000 |
commit | 232a4ab77a078703de787c51a281efd8bed10d68 (patch) | |
tree | 3e9f8f85a4c6c4138a35b9db9b9d0cd57bc5fbf2 | |
parent | 0af5e095ad16091457c35edd015fe2931023f58b (diff) | |
download | external_llvm-232a4ab77a078703de787c51a281efd8bed10d68.zip external_llvm-232a4ab77a078703de787c51a281efd8bed10d68.tar.gz external_llvm-232a4ab77a078703de787c51a281efd8bed10d68.tar.bz2 |
Provide hooks for libgcc symbols' address resolution inside lli on mingw32.
Patch by Julien Lerouge!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52037 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/System/Win32/DynamicLibrary.inc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/System/Win32/DynamicLibrary.inc b/lib/System/Win32/DynamicLibrary.inc index 3cc6a06..c76032f 100644 --- a/lib/System/Win32/DynamicLibrary.inc +++ b/lib/System/Win32/DynamicLibrary.inc @@ -134,6 +134,21 @@ bool DynamicLibrary::LoadLibraryPermanently(const char *filename, #if defined(__MINGW32__) EXPLICIT_SYMBOL_DEF(_alloca); EXPLICIT_SYMBOL_DEF(__main); + EXPLICIT_SYMBOL_DEF(__ashldi3); + EXPLICIT_SYMBOL_DEF(__ashrdi3); + EXPLICIT_SYMBOL_DEF(__cmpdi2); + EXPLICIT_SYMBOL_DEF(__divdi3); + EXPLICIT_SYMBOL_DEF(__eprintf); + EXPLICIT_SYMBOL_DEF(__fixdfdi); + EXPLICIT_SYMBOL_DEF(__fixsfdi); + EXPLICIT_SYMBOL_DEF(__fixunsdfdi); + EXPLICIT_SYMBOL_DEF(__fixunssfdi); + EXPLICIT_SYMBOL_DEF(__floatdidf); + EXPLICIT_SYMBOL_DEF(__floatdisf); + EXPLICIT_SYMBOL_DEF(__lshrdi3); + EXPLICIT_SYMBOL_DEF(__moddi3); + EXPLICIT_SYMBOL_DEF(__udivdi3); + EXPLICIT_SYMBOL_DEF(__umoddi3); #elif defined(_MSC_VER) EXPLICIT_SYMBOL_DEF(_alloca_probe); #endif @@ -157,6 +172,21 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char* symbolName) { { EXPLICIT_SYMBOL(_alloca); EXPLICIT_SYMBOL(__main); + EXPLICIT_SYMBOL(__ashldi3); + EXPLICIT_SYMBOL(__ashrdi3); + EXPLICIT_SYMBOL(__cmpdi2); + EXPLICIT_SYMBOL(__divdi3); + EXPLICIT_SYMBOL(__eprintf); + EXPLICIT_SYMBOL(__fixdfdi); + EXPLICIT_SYMBOL(__fixsfdi); + EXPLICIT_SYMBOL(__fixunsdfdi); + EXPLICIT_SYMBOL(__fixunssfdi); + EXPLICIT_SYMBOL(__floatdidf); + EXPLICIT_SYMBOL(__floatdisf); + EXPLICIT_SYMBOL(__lshrdi3); + EXPLICIT_SYMBOL(__moddi3); + EXPLICIT_SYMBOL(__udivdi3); + EXPLICIT_SYMBOL(__umoddi3); EXPLICIT_SYMBOL2(alloca, _alloca); #undef EXPLICIT_SYMBOL |