--- wine/dlls/ntdll/virtual.c	2003-12-08 16:58:55.000000000 -0500
+++ wine/dlls/ntdll/virtual.c	2004-03-05 01:50:49.914734472 -0500
@@ -1195,12 +1195,18 @@
     FILE_VIEW *view;
     char *base, *alloc_base = 0;
     UINT size = 0;
+    PVOID mpret = 0;
+    ULONG mpsize = 1000;
     MEMORY_BASIC_INFORMATION *info = buffer;
 
     if (info_class != MemoryBasicInformation) return STATUS_INVALID_INFO_CLASS;
     if (ADDRESS_SPACE_LIMIT && addr >= ADDRESS_SPACE_LIMIT)
         return STATUS_WORKING_SET_LIMIT_RANGE;  /* FIXME */
 
+    /* Fix Borland C++ 5.5's linker (ilink32) */
+    NtAllocateVirtualMemory (process, &mpret, 0x80000000, &mpsize,
+             MEM_RESERVE | MEM_SYSTEM, PAGE_EXECUTE_READWRITE);
+
     if (!is_current_process( process ))
     {
         ERR("Unsupported on other process\n");
