Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 35017)
+++ /trunk/Config.kmk	(revision 35018)
@@ -2331,11 +2331,7 @@
 # Special SDK for the problematic NTDLL.LIB.
 #
-SDK_VBOX_NTDLL = Requires $(VBOX_WINDDK)
-SDK_VBOX_NTDLL_LIBS ?= $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ntdll.lib
-SDK_VBOX_NTDLL_LIBS.x86 ?= $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/ntdll.lib
-SDK_VBOX_NTDLL_LIBS.amd64 ?= $(PATH_SDK_$(VBOX_WINDDK)_LIB.amd64)/ntdll.lib
-ifeq ($(KBUILD_TARGET),win)
- include $(KBUILD_PATH)/sdks/$(VBOX_WINDDK).kmk
-endif
+SDK_VBOX_NTDLL = Mini NTDLL import library, required IPRT.
+SDK_VBOX_NTDLL_LIBS.x86   ?= $(PATH_LIB)/RuntimeR3NtDll-x86.lib
+SDK_VBOX_NTDLL_LIBS.amd64 ?= $(PATH_LIB)/RuntimeR3NtDll-amd64.lib
 
 #
Index: /trunk/src/VBox/Runtime/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Runtime/Makefile.kmk	(revision 35017)
+++ /trunk/src/VBox/Runtime/Makefile.kmk	(revision 35018)
@@ -96,4 +96,9 @@
  DLLS += VBoxRT
 endif
+
+
+# Always build the ntdll import libraries on windows.
+LIBRARIES.win += RuntimeR3NtDll-amd64 RuntimeR3NtDll-x86
+
 
 # Where the generated stuff goes.
@@ -1951,4 +1956,25 @@
 
 #
+# The NTDLL mini import library.
+#
+# Note! The reason for doing this is to avoid importing CRT symbols from the
+#       NTDLL.  We do not wish to do this because:
+#         - Our compiler is usually a different one and we should use the
+#           matching CRT,
+#         - Older versions of NTDLL may not sport all the exports our w2k3 or
+#           later WINDDK ntdll.lib have and thus we may easily end up with
+#           images that does not load on older windows versions.
+#
+RuntimeR3NtDll-amd64_TEMPLATE = VBoxR3Dll
+RuntimeR3NtDll-amd64_ARFLAGS  = /NODEFAULTLIB /MACHINE:amd64
+RuntimeR3NtDll-amd64_SOURCES  = \
+	r3/win/ntdll-mini-implib.c \
+	r3/win/ntdll-mini-implib.def
+
+RuntimeR3NtDll-x86_EXTENDS    = RuntimeR3NtDll-amd64
+RuntimeR3NtDll-x86_ARFLAGS    = /NODEFAULTLIB /MACHINE:x86
+
+
+#
 # errmsg.cpp depends on a generated header.
 #
Index: /trunk/src/VBox/Runtime/r3/win/ntdll-mini-implib.c
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/ntdll-mini-implib.c	(revision 35018)
+++ /trunk/src/VBox/Runtime/r3/win/ntdll-mini-implib.c	(revision 35018)
@@ -0,0 +1,84 @@
+/* $Id$ */
+/** @file
+ * IPRT - Minimal NTDLL import library defintion file.
+ */
+
+/*
+ * Copyright (C) 2010 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ */
+
+
+#include <Windows.h>
+
+#undef  NTSYSAPI
+#define NTSYSAPI __declspec(dllexport)
+
+typedef LONG    NTSTATUS;
+typedef PVOID   PIO_STATUS_BLOCK;
+typedef INT     FILE_INFORMATION_CLASS;
+typedef INT     FS_INFORMATION_CLASS;
+
+
+NTSYSAPI ULONG NTAPI RtlNtStatusToDosError(IN NTSTATUS Status)
+{
+    return 1;
+}
+
+NTSYSAPI LONG NTAPI NtQueryTimerResolution(OUT PULONG MaximumResolution,
+                                           OUT PULONG MinimumResolution,
+                                           OUT PULONG CurrentResolution)
+{
+    return -1;
+}
+
+NTSYSAPI NTSTATUS WINAPI NtQueryInformationFile(HANDLE h,
+                                                PIO_STATUS_BLOCK b,
+                                                PVOID c,
+                                                LONG d,
+                                                FILE_INFORMATION_CLASS e)
+{
+    return -1;
+}
+
+NTSYSAPI NTSTATUS NTAPI NtSetInformationFile(IN HANDLE FileHandle,
+                                             OUT PIO_STATUS_BLOCK IoStatusBlock,
+                                             IN PVOID FileInformation,
+                                             IN ULONG Length,
+                                             IN FILE_INFORMATION_CLASS FileInformationClass)
+{
+    return -1;
+}
+
+NTSYSAPI LONG NTAPI NtSetTimerResolution(IN ULONG DesiredResolution,
+                                         IN BOOLEAN SetResolution,
+                                         OUT PULONG CurrentResolution)
+{
+    return -1;
+}
+
+NTSYSAPI NTSTATUS NTAPI NtQueryVolumeInformationFile(HANDLE h,
+                                                     PIO_STATUS_BLOCK IoStatusBlock,
+                                                     PVOID pvBuf,
+                                                     ULONG cbBuf,
+                                                     FS_INFORMATION_CLASS FsInformationClass)
+{
+    return -1;
+}
+
Index: /trunk/src/VBox/Runtime/r3/win/ntdll-mini-implib.def
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/ntdll-mini-implib.def	(revision 35018)
+++ /trunk/src/VBox/Runtime/r3/win/ntdll-mini-implib.def	(revision 35018)
@@ -0,0 +1,28 @@
+; $Id$
+;; @file
+; IPRT - Minimal NTDLL import library defintion file.
+;
+
+;
+; Copyright (C) 2010 Oracle Corporation
+;
+; This file is part of VirtualBox Open Source Edition (OSE), as
+; available from http://www.virtualbox.org. This file is free software;
+; you can redistribute it and/or modify it under the terms of the GNU
+; General Public License (GPL) as published by the Free Software
+; Foundation, in version 2 as it comes in the "COPYING" file of the
+; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+;
+; The contents of this file may alternatively be used under the terms
+; of the Common Development and Distribution License Version 1.0
+; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+; VirtualBox OSE distribution, in which case the provisions of the
+; CDDL are applicable instead of those of the GPL.
+;
+; You may elect to license modified versions of this file under the
+; terms and conditions of either the GPL or the CDDL or both.
+;
+
+LIBRARY ntdll.dll
+
