Add 'free' to the list of rtsSyms on Win64
authorIan Lynagh <igloo@earth.li>
Wed, 2 May 2012 12:27:43 +0000 (13:27 +0100)
committerIan Lynagh <igloo@earth.li>
Wed, 2 May 2012 12:27:43 +0000 (13:27 +0100)
Without this, we ended up using
    (gdb) info symbol 0x7ff756a10ac
    msvcrt!free in section .text of C:\Windows\system32\msvcrt.dll
for free, rather than
    (gdb) info symbol 0x2584128
    free in section .text of C:\m64\ghci2\q/../inplace/bin/ghc-stage2.exe
but we were trying to put the address into a 32bit relocation.

rts/Linker.c

index 48667b4..d4518ce 100644 (file)
@@ -558,6 +558,7 @@ typedef struct _RtsSymbolVal {
       RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GetConsoleMode))              \
       RTS_WIN64_ONLY(SymI_NeedsProto(__imp_SetConsoleMode))              \
       RTS_WIN64_ONLY(SymI_NeedsProto(__imp_FlushConsoleInputBuffer))     \
+      RTS_WIN64_ONLY(SymI_HasProto(free))                                \
       RTS_MINGW_GETTIMEOFDAY_SYM                         \
       SymI_NeedsProto(closedir)