summary refs log blame commit diff
path: root/pkgs/development/compilers/ghc/rename-numa-api-call.patch
blob: 747d7a81a11ef3af47317896c05e900424dfedc7 (plain) (tree)































                                                                                                                                  
diff --git a/rts/win32/OSMem.c b/rts/win32/OSMem.c
--- a/rts/win32/OSMem.c
+++ b/rts/win32/OSMem.c
@@ -41,7 +41,7 @@ static block_rec* free_blocks = NULL;
 typedef LPVOID(WINAPI *VirtualAllocExNumaProc)(HANDLE, LPVOID, SIZE_T, DWORD, DWORD, DWORD);

 /* Cache NUMA API call. */
-VirtualAllocExNumaProc VirtualAllocExNuma;
+VirtualAllocExNumaProc _VirtualAllocExNuma;

 void
 osMemInit(void)
@@ -52,8 +52,8 @@ osMemInit(void)
     /* Resolve and cache VirtualAllocExNuma. */
     if (osNumaAvailable() && RtsFlags.GcFlags.numa)
     {
-        VirtualAllocExNuma = (VirtualAllocExNumaProc)GetProcAddress(GetModuleHandleW(L"kernel32"), "VirtualAllocExNuma");
-        if (!VirtualAllocExNuma)
+        _VirtualAllocExNuma = (VirtualAllocExNumaProc)(void*)GetProcAddress(GetModuleHandleW(L"kernel32"), "VirtualAllocExNuma");
+        if (!_VirtualAllocExNuma)
         {
             sysErrorBelch(
                 "osBindMBlocksToNode: VirtualAllocExNuma does not exist. How did you get this far?");
@@ -569,7 +569,7 @@ void osBindMBlocksToNode(
                On windows also -xb is broken, it does nothing so that can't
                be used to tweak it (see #12577). So for now, just let the OS decide.
             */
-            temp = VirtualAllocExNuma(
+            temp = _VirtualAllocExNuma(
                           GetCurrentProcess(),
                           NULL, // addr? See base memory
                           size,