Index: trunk/src/libs/libxml2-2.12.6/Makefile.kmk
===================================================================
--- trunk/src/libs/libxml2-2.12.6/Makefile.kmk	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/Makefile.kmk	(revision 104180)
@@ -42,4 +42,10 @@
 VBox-libxml2_CFLAGS.win    += -wd4305 # 'type cast' : truncation from 'xmlChar *' to 'long'
 VBox-libxml2_CFLAGS.win    += -wd4306 # 'type cast' : conversion from 'long' to 'void *' of greater size [TODO: check these out?]
+VBox-libxml2_CFLAGS.win    += -wd4090 # 'function': different 'const' qualifiers
+VBox-libxml2_CFLAGS.win    += -wd4047 # dwarning C4047: 'function': 'xmlMutexPtr' differs in levels of indirection from 'xmlMutexPtr *'
+VBox-libxml2_CFLAGS.win    += -wd4024 # warning C4024: 'xmlMutexLock': different types for formal and actual parameter 1
+VBox-libxml2_CFLAGS.win    += -wd4098 # warning C4098: 'xmlInitMemoryInternal': 'void' function returning a value
+VBox-libxml2_CFLAGS.win    += -wd4703 # warning C4703: potentially uninitialized local pointer variable 'nsuri' used
+VBox-libxml2_CFLAGS.win    += -wd4013 # warning C4013: 'sprintf' undefined; assuming extern returning int
 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC120"
  VBox-libxml2_CFLAGS.win   += -wd4311 # parser.c(1346) : warning C4311: 'type cast' : pointer truncation from 'void *' to 'long'
@@ -63,5 +69,4 @@
 	debugXML.c \
 	dict.c \
-	DOCBparser.c \
 	encoding.c \
 	entities.c \
@@ -73,4 +78,5 @@
 	legacy.c \
 	list.c \
+	nanohttp.c \
 	parser.c \
 	parserInternals.c \
Index: trunk/src/libs/libxml2-2.12.6/catalog.c
===================================================================
--- trunk/src/libs/libxml2-2.12.6/catalog.c	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/catalog.c	(revision 104180)
@@ -76,5 +76,6 @@
 #if defined(_WIN32) && defined(_MSC_VER)
 #undef XML_XML_DEFAULT_CATALOG
-static char XML_XML_DEFAULT_CATALOG[256] = "file://" SYSCONFDIR "/xml/catalog";
+//static char XML_XML_DEFAULT_CATALOG[256] = "file://" SYSCONFDIR "/xml/catalog";
+static char XML_XML_DEFAULT_CATALOG[256] = "file:///etc/xml/catalog";
 #if !defined(_WINDOWS_)
 void* __stdcall GetModuleHandleA(const char*);
Index: trunk/src/libs/libxml2-2.12.6/include/libxml/xmlversion.h
===================================================================
--- trunk/src/libs/libxml2-2.12.6/include/libxml/xmlversion.h	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/include/libxml/xmlversion.h	(revision 104180)
@@ -271,5 +271,5 @@
  * Whether iconv support is available
  */
-#if 1
+#if 0
 #define LIBXML_ICONV_ENABLED
 #endif
Index: trunk/src/libs/libxml2-2.12.6/include/vboxconfig.h
===================================================================
--- trunk/src/libs/libxml2-2.12.6/include/vboxconfig.h	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/include/vboxconfig.h	(revision 104180)
@@ -436,2 +436,6 @@
 #undef LIBXML_ICONV_ENABLED
 
+#define XML_HIDDEN
+#define ATTRIBUTE_NO_SANITIZE_INTEGER
+#define ATTRIBUTE_NO_SANITIZE(arg)
+#undef NAN
Index: trunk/src/libs/libxml2-2.12.6/libxml.h
===================================================================
--- trunk/src/libs/libxml2-2.12.6/libxml.h	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/libxml.h	(revision 104180)
@@ -23,4 +23,10 @@
 #endif
 
+#if defined(VBOX)
+#include <vboxconfig.h>
+#include <libxml/xmlversion.h>
+#endif
+
+
 #if defined(macintosh)
 #include "config-mac.h"
@@ -34,7 +40,4 @@
  */
 #include "config.h"
-#include <libxml/xmlversion.h>
-#elif defined(VBOX)
-#include <vboxconfig.h>
 #include <libxml/xmlversion.h>
 #else
Index: trunk/src/libs/libxml2-2.12.6/xmlmemory.c
===================================================================
--- trunk/src/libs/libxml2-2.12.6/xmlmemory.c	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/xmlmemory.c	(revision 104180)
@@ -20,7 +20,7 @@
  */
 #ifdef DEBUG_MEMORY_LOCATION
-#ifndef MEM_LIST
-#define MEM_LIST /* keep a list of all the allocated memory blocks */
-#endif
+ #ifndef MEM_LIST
+  #define MEM_LIST /* keep a list of all the allocated memory blocks */
+ #endif
 #endif
 
@@ -33,8 +33,9 @@
 #include "private/threads.h"
 
+static int xmlMemInitialized = 0;
 static unsigned long  debugMemSize = 0;
 static unsigned long  debugMemBlocks = 0;
 static unsigned long  debugMaxMemSize = 0;
-static xmlMutex xmlMemMutex;
+static xmlMutexPtr xmlMemMutex = NULL;
 
 void xmlMallocBreakpoint(void);
@@ -47,13 +48,15 @@
 
 #if !defined(LIBXML_THREAD_ENABLED) && !defined(LIBXML_THREAD_ALLOC_ENABLED)
-#ifdef xmlMalloc
-#undef xmlMalloc
-#endif
-#ifdef xmlRealloc
-#undef xmlRealloc
-#endif
-#ifdef xmlMemStrdup
-#undef xmlMemStrdup
-#endif
+ #ifdef xmlMalloc
+ #undef xmlMalloc
+ #endif
+
+ #ifdef xmlRealloc
+ #undef xmlRealloc
+ #endif
+
+ #ifdef xmlMemStrdup
+ #undef xmlMemStrdup
+ #endif
 #endif
 
@@ -89,4 +92,5 @@
 #define ALIGN_SIZE  sizeof(double)
 #endif
+
 #define HDR_SIZE    sizeof(MEMHDR)
 #define RESERVE_SIZE (((HDR_SIZE + (ALIGN_SIZE-1)) \
@@ -845,4 +849,5 @@
 void
 xmlInitMemoryInternal(void) {
+
 #ifdef VBOX
      const char *breakpoint;
@@ -850,5 +855,5 @@
      char *breakpoint;
 #endif
-#endif
+
 #ifdef DEBUG_MEMORY
      xmlGenericError(xmlGenericErrorContext,
Index: trunk/src/libs/libxml2-2.12.6/xmlschemastypes.c
===================================================================
--- trunk/src/libs/libxml2-2.12.6/xmlschemastypes.c	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/xmlschemastypes.c	(revision 104180)
@@ -36,9 +36,7 @@
 #include "private/error.h"
 
-#ifndef LIBXML_XPATH_ENABLED
 #ifndef VBOX /* Avoid warnings about redefining DEBUG */
 #define DEBUG
 #endif /* !VBOX */
-
 
 #ifndef LIBXML_XPATH_ENABLED
Index: trunk/src/libs/libxml2-2.12.6/xpath.c
===================================================================
--- trunk/src/libs/libxml2-2.12.6/xpath.c	(revision 104179)
+++ trunk/src/libs/libxml2-2.12.6/xpath.c	(revision 104180)
@@ -167,5 +167,5 @@
 void
 xmlInitXPathInternal(void) {
-#if defined(NAN) && defined(INFINITY)
+#if defined(NAN) && defined(INFINITY) && !defined(VBOX)
     xmlXPathNAN = NAN;
     xmlXPathPINF = INFINITY;
