Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 26217)
+++ /trunk/Config.kmk	(revision 26218)
@@ -478,4 +478,8 @@
 # Set this to skip installing the redistributable compiler runtime.
 #VBOX_WITHOUT_COMPILER_REDIST = 1
+## For treating compiler and linker warnings as errors where possible.
+if1of ($(USERNAME), bird)
+ VBOX_WITH_WARNINGS_AS_ERRORS = 1
+endif
 ## @}
 
@@ -1252,4 +1256,9 @@
  endif
 endif
+ifdef VBOX_WITH_WARNINGS_AS_ERRORS
+ VBOX_GCC_WERR ?= -Werror
+ VBOX_VCC_WERR ?= -WX
+endif
+
 
 #
@@ -2241,41 +2250,41 @@
 # Template for building R0 things.
 #
-TEMPLATE_VBOXR0 = VBox Ring 0
-TEMPLATE_VBOXR0_ASTOOL              = $(VBOX_ASTOOL)
-TEMPLATE_VBOXR0_ASFLAGS             = $(VBOX_ASFLAGS)
-TEMPLATE_VBOXR0_DEFS                = IN_RING0 IN_RING0_AGNOSTIC IPRT_NO_CRT RT_WITH_NOCRT_ALIASES $(ARCH_BITS_DEFS)
-TEMPLATE_VBOXR0_INCS                = $(PATH_ROOT)/include/iprt/nocrt
-TEMPLATE_VBOXR0_SYSSUFF             = .r0
+TEMPLATE_VBoxR0 = VBox Ring 0
+TEMPLATE_VBoxR0_ASTOOL              = $(VBOX_ASTOOL)
+TEMPLATE_VBoxR0_ASFLAGS             = $(VBOX_ASFLAGS)
+TEMPLATE_VBoxR0_DEFS                = IN_RING0 IN_RING0_AGNOSTIC IPRT_NO_CRT RT_WITH_NOCRT_ALIASES $(ARCH_BITS_DEFS)
+TEMPLATE_VBoxR0_INCS                = $(PATH_ROOT)/include/iprt/nocrt
+TEMPLATE_VBoxR0_SYSSUFF             = .r0
 
 ifeq ($(VBOX_LDR_FMT),pe)
-TEMPLATE_VBOXR0_TOOL                = $(VBOX_VCC_TOOL)
+TEMPLATE_VBoxR0_TOOL                = $(VBOX_VCC_TOOL)
  ifdef VBOX_USE_VCC80
-TEMPLATE_VBOXR0_CXXFLAGS            = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 -GS- -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
+TEMPLATE_VBoxR0_CXXFLAGS            = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 -GS- -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP) $(VBOX_VCC_WERR)
  else
-TEMPLATE_VBOXR0_CXXFLAGS            = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
- endif
-TEMPLATE_VBOXR0_CFLAGS              = $(TEMPLATE_VBOXR0_CXXFLAGS)
-TEMPLATE_VBOXR0_LDFLAGS             = -Driver -Subsystem:NATIVE -Incremental:NO -Align:64 -MapInfo:Exports -NoD
-TEMPLATE_VBOXR0_LIBS.x86            = \
+TEMPLATE_VBoxR0_CXXFLAGS            = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)	$(VBOX_VCC_WERR)
+ endif
+TEMPLATE_VBoxR0_CFLAGS              = $(TEMPLATE_VBoxR0_CXXFLAGS)
+TEMPLATE_VBoxR0_LDFLAGS             = -Driver -Subsystem:NATIVE -Incremental:NO -Align:64 -MapInfo:Exports -NoD $(VBOX_VCC_WERR)
+TEMPLATE_VBoxR0_LIBS.x86            = \
 	$(PATH_SDK_W2K3DDKX86_LIB)/int64.lib
-TEMPLATE_VBOXR0_POST_CMDS           = $(VBOX_SIGN_DRIVER_CMDS)
+TEMPLATE_VBoxR0_POST_CMDS           = $(VBOX_SIGN_DRIVER_CMDS)
 endif # pe
 
 ifeq ($(VBOX_LDR_FMT),elf)
-TEMPLATE_VBOXR0_TOOL                = $(VBOX_GCC_TOOL)
-TEMPLATE_VBOXR0_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden)
-TEMPLATE_VBOXR0_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti
-TEMPLATE_VBOXR0_CFLAGS.amd64        = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables -ffreestanding
-TEMPLATE_VBOXR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables
+TEMPLATE_VBoxR0_TOOL                = $(VBOX_GCC_TOOL)
+TEMPLATE_VBoxR0_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden)
+TEMPLATE_VBoxR0_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti
+TEMPLATE_VBoxR0_CFLAGS.amd64        = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables -ffreestanding
+TEMPLATE_VBoxR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables
 ifeq ($(KBUILD_TARGET),solaris)
- TEMPLATE_VBOXR0_LDFLAGS             = -r
+ TEMPLATE_VBoxR0_LDFLAGS            = -r
 else
- TEMPLATE_VBOXR0_LDFLAGS             = -nostdlib -Bsymbolic
+ TEMPLATE_VBoxR0_LDFLAGS            = -nostdlib -Bsymbolic
  # temporarily, must fix the loader.
- TEMPLATE_VBOXR0_LDFLAGS            += $(if $(VBOX_DO_STRIP_MODULES),-S,)
- TEMPLATE_VBOXR0_LDFLAGS.release     = $(if $(VBOX_DO_STRIP_MODULES),-S,)
+ TEMPLATE_VBoxR0_LDFLAGS           += $(if $(VBOX_DO_STRIP_MODULES),-S,)
+ TEMPLATE_VBoxR0_LDFLAGS.release    = $(if $(VBOX_DO_STRIP_MODULES),-S,)
 endif
 ifn1of ($(KBUILD_TARGET),solaris freebsd)
- TEMPLATE_VBOXR0_LIBS                = \
+ TEMPLATE_VBoxR0_LIBS               = \
 	$(VBOX_GCC_LIBGCC) # instricts
 endif
@@ -2283,28 +2292,28 @@
 
 ifeq ($(VBOX_LDR_FMT),macho)
-TEMPLATE_VBOXR0_TOOL                = GXX4MACHO
-TEMPLATE_VBOXR0_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
-TEMPLATE_VBOXR0_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \
+TEMPLATE_VBoxR0_TOOL                = GXX4MACHO
+TEMPLATE_VBoxR0_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
+TEMPLATE_VBoxR0_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g -pipe $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \
 	-fno-common -msoft-float -static -fno-rtti -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \
 	-mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector)
-TEMPLATE_VBOXR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2  -mno-sse4a -fno-unwind-tables
-TEMPLATE_VBOXR0_CXXFLAGS.x86        = -m32
-TEMPLATE_VBOXR0_CFLAGS              = $(VBOX_DARWIN_DEF_SDK_CFLAGS)   -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) \
+TEMPLATE_VBoxR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2  -mno-sse4a -fno-unwind-tables
+TEMPLATE_VBoxR0_CXXFLAGS.x86        = -m32
+TEMPLATE_VBoxR0_CFLAGS              = $(VBOX_DARWIN_DEF_SDK_CFLAGS)   -nostdinc -g -pipe $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) \
 	-fno-common -msoft-float -static -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \
 	-mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector)
-TEMPLATE_VBOXR0_CFLAGS.amd64        = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2  -mno-sse4a -fno-unwind-tables
-TEMPLATE_VBOXR0_CFLAGS.x86          = -m32
-TEMPLATE_VBOXR0_LDFLAGS             = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -nostdlib
-#TEMPLATE_VBOXR0_LDFLAGS.release     = -Wl,-S ???
-TEMPLATE_VBOXR0_LDFLAGS.amd64       = -m64 -static
-TEMPLATE_VBOXR0_LDFLAGS.x86         = -m32
+TEMPLATE_VBoxR0_CFLAGS.amd64        = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2  -mno-sse4a -fno-unwind-tables
+TEMPLATE_VBoxR0_CFLAGS.x86          = -m32
+TEMPLATE_VBoxR0_LDFLAGS             = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -nostdlib
+#TEMPLATE_VBoxR0_LDFLAGS.release     = -Wl,-S ???
+TEMPLATE_VBoxR0_LDFLAGS.amd64       = -m64 -static
+TEMPLATE_VBoxR0_LDFLAGS.x86         = -m32
 endif
 
 ifeq ($(VBOX_LDR_FMT),lx)
-TEMPLATE_VBOXR0_TOOL                = GXX3OMF
-TEMPLATE_VBOXR0_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions
-TEMPLATE_VBOXR0_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti
-TEMPLATE_VBOXR0_LDFLAGS             = -nostdlib -Zdll
-TEMPLATE_VBOXR0_LIBS                = \
+TEMPLATE_VBoxR0_TOOL                = GXX3OMF
+TEMPLATE_VBoxR0_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions
+TEMPLATE_VBoxR0_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti
+TEMPLATE_VBoxR0_LDFLAGS             = -nostdlib -Zdll
+TEMPLATE_VBoxR0_LIBS                = \
 	$(VBOX_GCC_LIBGCC) \
 	$(VBOX_OBJ_SYS0) \
@@ -2684,4 +2693,19 @@
 
 #
+# Temporary: Renaming the template and warnings will be errors (soon).
+#
+TEMPLATE_VBoxR3Dll                     += VBox ring-3 SO/DLLs, no warnings
+TEMPLATE_VBoxR3Dll_EXTENDS             += VBOXR3
+TEMPLATE_VBoxR3Dll_EXTENDS_BY          += appending
+ifeq ($(KBUILD_TARGET),win)
+ TEMPLATE_VBoxR3Dll_CFLAGS            += $(VBOX_VCC_WERR)
+ TEMPLATE_VBoxR3Dll_CXXFLAGS          += $(VBOX_VCC_WERR)
+ TEMPLATE_VBoxR3Dll_LDFLAGS           += $(VBOX_VCC_WERR)
+else
+ TEMPLATE_VBoxR3Dll_CFLAGS            += $(VBOX_GCC_WERR)
+ TEMPLATE_VBoxR3Dll_CXXFLAGS          += $(VBOX_GCC_WERR)
+endif
+
+#
 # Template for building static R3 executables and any static
 # libraries they link with.
@@ -2707,4 +2731,19 @@
  TEMPLATE_VBOXR3STATIC_OBJCFLAGS       = $(TEMPLATE_VBOXR3EXE_OBJCFLAGS) -static
  TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -static
+endif
+
+#
+# Temporary: Renaming the template and warnings will be errors (soon).
+#
+TEMPLATE_VBoxR3Static               = New name for VBOXR3STATIC
+TEMPLATE_VBoxR3Static_EXTENDS       = VBOXR3STATIC
+TEMPLATE_VBoxR3Static_EXTENDS_BY    = appending
+ifeq ($(KBUILD_TARGET),win)
+ TEMPLATE_VBoxR3Static_CFLAGS      += $(VBOX_VCC_WERR)
+ TEMPLATE_VBoxR3Static_CXXFLAGS    += $(VBOX_VCC_WERR)
+ TEMPLATE_VBoxR3Static_LDFLAGS     += $(VBOX_VCC_WERR)
+else
+ TEMPLATE_VBoxR3Static_CFLAGS      += $(VBOX_GCC_WERR)
+ TEMPLATE_VBoxR3Static_CXXFLAGS    += $(VBOX_GCC_WERR)
 endif
 
Index: /trunk/src/VBox/Devices/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Devices/Makefile.kmk	(revision 26217)
+++ /trunk/src/VBox/Devices/Makefile.kmk	(revision 26218)
@@ -628,5 +628,5 @@
 # VBoxDDR0 (sysmod)
 #
-VBoxDDR0_TEMPLATE       = VBOXR0
+VBoxDDR0_TEMPLATE       = VBoxR0
 VBoxDDR0_SYSSUFF        = .r0
 VBoxDDR0_DEFS.darwin.x86= VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0 VBOX_WITH_2X_4GB_ADDR_SPACE
@@ -747,5 +747,5 @@
 # VBoxDD2R0 (LGPL sysmod)
 #
-VBoxDD2R0_TEMPLATE       = VBOXR0
+VBoxDD2R0_TEMPLATE       = VBoxR0
 VBoxDD2R0_DEFS           = IN_RT_R0
 VBoxDD2R0_SYSSUFF        = .r0
@@ -1107,5 +1107,5 @@
 # Ring-0 Services (library, linked into VMMR0.r0)
 #
-ServicesR0_TEMPLATE  = VBOXR0
+ServicesR0_TEMPLATE  = VBoxR0
 ServicesR0_DEFS      = IN_INTNET_R0 IN_RT_R0
 ServicesR0_SOURCES   = \
Index: /trunk/src/VBox/Disassembler/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Disassembler/Makefile.kmk	(revision 26217)
+++ /trunk/src/VBox/Disassembler/Makefile.kmk	(revision 26218)
@@ -62,5 +62,5 @@
 
 LIBRARIES              += DisasmR0
-DisasmR0_TEMPLATE       = VBOXR0
+DisasmR0_TEMPLATE       = VBoxR0
 DisasmR0_DEFS           = IN_DIS IN_RT_R0 DIS_CORE_ONLY
 DisasmR0_SOURCES        = \
Index: /trunk/src/VBox/HostDrivers/Support/Makefile.kmk
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/Makefile.kmk	(revision 26217)
+++ /trunk/src/VBox/HostDrivers/Support/Makefile.kmk	(revision 26218)
@@ -133,5 +133,5 @@
 # SUPR0 - The Ring-0 Import / Thunk library.
 #
-SUPR0_TEMPLATE      = VBOXR0
+SUPR0_TEMPLATE      = VBoxR0
 ifeq ($(VBOX_LDR_FMT),pe)
  SUPR0_SOURCES     += SUPR0.def
Index: /trunk/src/VBox/HostServices/SharedFolders/vbsf.h
===================================================================
--- /trunk/src/VBox/HostServices/SharedFolders/vbsf.h	(revision 26217)
+++ /trunk/src/VBox/HostServices/SharedFolders/vbsf.h	(revision 26218)
@@ -1,5 +1,3 @@
 /** @file
- *
- * Shared Folders:
  * VBox Shared Folders header.
  */
Index: /trunk/src/VBox/Runtime/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Runtime/Makefile.kmk	(revision 26217)
+++ /trunk/src/VBox/Runtime/Makefile.kmk	(revision 26218)
@@ -173,5 +173,5 @@
 # RuntimeR3 - Static Runtime for Ring-3 executables.
 #
-RuntimeR3_TEMPLATE      = VBOXR3STATIC
+RuntimeR3_TEMPLATE      = VBoxR3Static
 RuntimeR3_SDKS          = VBOX_LIBXML2 VBOX_BOOST
 RuntimeR3_SDKS.win      = WINPSDK W2K3DDK
@@ -911,5 +911,5 @@
 # VBoxRT - Shared Object / DLL version.
 #
-VBoxRT_TEMPLATE                = VBOXR3
+VBoxRT_TEMPLATE                = VBoxR3Dll
 VBoxRT_SDKS                    = VBOX_OPENSSL VBOX_LIBXML2 VBOX_LIBCURL VBOX_BOOST
 VBoxRT_SDKS.win                = WINPSDK W2K3DDK VBOX_NTDLL
@@ -1104,5 +1104,5 @@
 # RuntimeR0 - Ring0 library for VMMR0.
 #
-RuntimeR0_TEMPLATE      = VBOXR0
+RuntimeR0_TEMPLATE      = VBoxR0
 RuntimeR0_DEFS          = IN_RT_R0 RT_WITH_VBOX
 RuntimeR0_INCS          = include
Index: /trunk/src/VBox/Runtime/testcase/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Runtime/testcase/Makefile.kmk	(revision 26217)
+++ /trunk/src/VBox/Runtime/testcase/Makefile.kmk	(revision 26218)
@@ -259,5 +259,5 @@
 	$(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
 
-tstLdr-4Imp_TEMPLATE = VBOXR0
+tstLdr-4Imp_TEMPLATE = VBoxR0
 ifeq ($(VBOX_LDR_FMT),lx)
  tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
@@ -266,5 +266,5 @@
 endif
 
-tstLdrObjR0_TEMPLATE = VBOXR0
+tstLdrObjR0_TEMPLATE = VBoxR0
 tstLdrObjR0_INST = $(INST_TESTCASE)
 tstLdrObjR0_SYSSUFF = .r0
@@ -312,5 +312,5 @@
 tstRTMemPool_SOURCES = tstRTMemPool.cpp
 
-tstRTR0MemUserKernel_TEMPLATE = VBOXR0
+tstRTR0MemUserKernel_TEMPLATE = VBoxR0
 tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
 tstRTR0MemUserKernel_DEFS = IN_RT_R0
@@ -351,5 +351,5 @@
 tstRand_SOURCES = tstRand.cpp
 
-tstR0ThreadPreemption_TEMPLATE = VBOXR0
+tstR0ThreadPreemption_TEMPLATE = VBoxR0
 tstR0ThreadPreemption_INST = $(INST_TESTCASE)
 tstR0ThreadPreemption_DEFS = IN_RT_R0
Index: /trunk/src/VBox/VMM/Makefile.kmk
===================================================================
--- /trunk/src/VBox/VMM/Makefile.kmk	(revision 26217)
+++ /trunk/src/VBox/VMM/Makefile.kmk	(revision 26218)
@@ -32,5 +32,5 @@
 LIBRARIES += VMMR3
 
-VMMR3_TEMPLATE  = VBOXR3
+VMMR3_TEMPLATE  = VBoxR3Dll
 
 VMMR3_DEFS      = IN_VMM_R3 IN_DIS IN_GMM_R3 IN_DBG
@@ -208,5 +208,5 @@
 #
 DLLS += VBoxVMM
-VBoxVMM_TEMPLATE = VBOXR3
+VBoxVMM_TEMPLATE = VBoxR3Dll
 VBoxVMM_DEFS = $(VMMR3_DEFS)
 VBoxVMM_DEFS.$(KBUILD_TARGET) = $(VMMR3_DEFS.$(KBUILD_TARGET))
@@ -297,5 +297,5 @@
  #
  LIBRARIES += VMMR0Imp
- VMMR0Imp_TEMPLATE = VBOXR0
+ VMMR0Imp_TEMPLATE = VBoxR0
  VMMR0Imp_SOURCES  = $(PATH_VMMR0Imp)/VMMR0.def
  VMMR0Imp_CLEAN    = $(PATH_VMMR0Imp)/VMMR0.def
@@ -437,5 +437,5 @@
 #
 SYSMODS += VMMR0
-VMMR0_TEMPLATE  = VBOXR0
+VMMR0_TEMPLATE  = VBoxR0
 VMMR0_SYSSUFF   = .r0
 
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h	(revision 26217)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h	(revision 26218)
@@ -1052,7 +1052,7 @@
     }
 
-    /* Fetch the pgm pool shadow descriptor. */ 
-    PPGMPOOLPAGE pShwPde = pgmPoolGetPage(pPool, pPdptDst->a[iPdpt].u & SHW_PDPE_PG_MASK); 
-    Assert(pShwPde); 
+    /* Fetch the pgm pool shadow descriptor. */
+    PPGMPOOLPAGE pShwPde = pgmPoolGetPage(pPool, pPdptDst->a[iPdpt].u & SHW_PDPE_PG_MASK);
+    Assert(pShwPde);
 
 # endif /* PGM_SHW_TYPE == PGM_TYPE_AMD64 */
@@ -2195,12 +2195,12 @@
     Log(("CheckPageFault: real page fault at %RGv (%d)\n", GCPtrPage, uPageFaultLevel));
 
-    if (
+    if (    1
 #  if PGM_GST_TYPE == PGM_TYPE_AMD64
-            pPml4eSrc->n.u1Present &&
+         && pPml4eSrc->n.u1Present
 #  endif
 #  if PGM_GST_TYPE == PGM_TYPE_AMD64 || PGM_GST_TYPE == PGM_TYPE_PAE
-            pPdpeSrc->n.u1Present  &&
+         && pPdpeSrc->n.u1Present
 #  endif
-            pPdeSrc->n.u1Present)
+         && pPdeSrc->n.u1Present)
     {
         /* Check the present bit as the shadow tables can cause different error codes by being out of sync. */
@@ -2218,10 +2218,9 @@
              * Map the guest page table.
              */
-            PGSTPT pPTSrc;
-            rc = PGM_GCPHYS_2_PTR(pVM, pPdeSrc->u & GST_PDE_PG_MASK, &pPTSrc);
+            PGSTPT pPTSrc2;
+            rc = PGM_GCPHYS_2_PTR(pVM, pPdeSrc->u & GST_PDE_PG_MASK, &pPTSrc2);
             if (RT_SUCCESS(rc))
             {
-                PGSTPTE         pPteSrc = &pPTSrc->a[(GCPtrPage >> GST_PT_SHIFT) & GST_PT_MASK];
-                const GSTPTE    PteSrc = *pPteSrc;
+                PGSTPTE pPteSrc = &pPTSrc2->a[(GCPtrPage >> GST_PT_SHIFT) & GST_PT_MASK];
                 if (pPteSrc->n.u1Present)
                     TRPMSetErrorCode(pVCpu, uErr | X86_TRAP_PF_P); /* page-level protection violation */
