Index: /trunk/src/VBox/VMM/VMMGC/VMMGCDeps.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMGC/VMMGCDeps.cpp	(revision 35297)
+++ /trunk/src/VBox/VMM/VMMGC/VMMGCDeps.cpp	(revision 35298)
@@ -19,4 +19,11 @@
 #include <iprt/string.h>
 
+#if defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD)
+RT_C_DECLS_BEGIN
+extern uint64_t __udivdi3(uint64_t, uint64_t);
+extern uint64_t __umoddi3(uint64_t, uint64_t);
+RT_C_DECLS_END
+#endif // RT_OS_SOLARIS || RT_OS_FREEBSD
+
 PFNRT g_VMMGCDeps[] =
 {
@@ -25,5 +32,10 @@
     (PFNRT)memchr,
     (PFNRT)memcmp,
-    (PFNRT)RTCrc32
+    (PFNRT)RTCrc32,
+#if defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD)
+    (PFNRT)__udivdi3,
+    (PFNRT)__umoddi3,
+#endif // RT_OS_SOLARIS || RT_OS_FREEBSD
+    NULL
 };
 
Index: /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp	(revision 35297)
+++ /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp	(revision 35298)
@@ -61,4 +61,9 @@
 VMMR0DECL(int) ModuleInit(void);
 VMMR0DECL(void) ModuleTerm(void);
+
+#if defined(RT_ARCH_X86) && (defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD))
+extern uint64_t __udivdi3(uint64_t, uint64_t);
+extern uint64_t __umoddi3(uint64_t, uint64_t);
+#endif // RT_ARCH_X86 && (RT_OS_SOLARIS || RT_OS_FREEBSD)
 RT_C_DECLS_END
 
@@ -72,5 +77,10 @@
 {
     (PFNRT)RTCrc32,
-    (PFNRT)RTOnce
+    (PFNRT)RTOnce,
+#if defined(RT_ARCH_X86) && (defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD))
+    (PFNRT)__udivdi3,
+    (PFNRT)__umoddi3,
+#endif // RT_ARCH_X86 && (RT_OS_SOLARIS || RT_OS_FREEBSD)
+    NULL
 };
 
