thanks.<br><br><div class="gmail_quote">On Wed, Mar 30, 2011 at 1:42 AM, Klaus Espenlaub <span dir="ltr"><<a href="mailto:klaus.espenlaub@oracle.com">klaus.espenlaub@oracle.com</a>></span> wrote:<br><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
sorry about the late reply... something resembling your patches is now integrated in VirtualBox (trunk only so far). The change should show up tomorrow or so. Used a slightly different approach, but the results should be the same.<br>

<br>
Klaus<div><div></div><div class="h5"><br>
<br>
On 14.02.2011 02:42, Howard Su wrote:<br>
<blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
Latest version of patch, tested in FreeBSD 8.1<br>
<br>
<br>
Index: VBox/Main/src-server/xpcom/server.cpp<br>
===================================================================<br>
--- VBox/Main/src-server/xpcom/server.cpp       (revision 35941)<br>
+++ VBox/Main/src-server/xpcom/server.cpp       (working copy)<br>
@@ -662,23 +662,7 @@<br>
<br>
  ////////////////////////////////////////////////////////////////////////////////<br>
<br>
-static const nsModuleComponentInfoEx components[] =<br>
-{<br>
-    nsModuleComponentInfoEx(<br>
-        "VirtualBox component",<br>
-        CLSID_VirtualBox,<br>
-        NS_VIRTUALBOX_CONTRACTID,<br>
-        VirtualBoxConstructor, // constructor function<br>
-        NULL, // registration function<br>
-        NULL, // deregistration function<br>
-        VirtualBoxClassFactory::FactoryDestructor, // factory<br>
destructor function<br>
-        NS_CI_INTERFACE_GETTER_NAME(VirtualBox),<br>
-        NULL, // language helper<br>
-&NS_CLASSINFO_NAME(VirtualBox),<br>
-        0, // flags<br>
-        VirtualBoxClassFactory::FactoryConstructor // factory<br>
constructor function<br>
-    )<br>
-};<br>
+static const nsModuleComponentInfoEx *components;<br>
<br>
  /////////////////////////////////////////////////////////////////////////////<br>
<br>
@@ -941,8 +925,24 @@<br>
          }<br>
<br>
          registrar->AutoRegister(nsnull);<br>
-        rc = RegisterSelfComponents(registrar, components,<br>
-                                    NS_ARRAY_LENGTH (components));<br>
+<br>
+       components = new nsModuleComponentInfoEx(<br>
+        "VirtualBox component",<br>
+        CLSID_VirtualBox,<br>
+        NS_VIRTUALBOX_CONTRACTID,<br>
+        VirtualBoxConstructor, // constructor function<br>
+        NULL, // registration function<br>
+        NULL, // deregistration function<br>
+        VirtualBoxClassFactory::FactoryDestructor, // factory<br>
destructor function<br>
+        NS_CI_INTERFACE_GETTER_NAME(VirtualBox),<br>
+        NULL, // language helper<br>
+&NS_CLASSINFO_NAME(VirtualBox),<br>
+        0, // flags<br>
+               VirtualBoxClassFactory::FactoryConstructor // factory<br>
constructor function<br>
+       );<br>
+<br>
+       rc = RegisterSelfComponents(registrar, components,<br>
+                                    1);<br>
          if (NS_FAILED(rc))<br>
          {<br>
              RTMsgError("Failed to register server components! (rc=%Rhrc)", rc);<br>
@@ -1098,5 +1098,7 @@<br>
      if (g_pszPidFile)<br>
          RTFileDelete(g_pszPidFile);<br>
<br>
+    delete components;<br>
+<br>
      return 0;<br>
  }<br>
Index: VBox/Main/Makefile.kmk<br>
===================================================================<br>
--- VBox/Main/Makefile.kmk      (revision 35941)<br>
+++ VBox/Main/Makefile.kmk      (working copy)<br>
@@ -244,10 +244,6 @@<br>
  VBoxSVC_DEFS.freebsd += VBOX_USE_LIBHAL<br>
<br>
  VBoxSVC_CXXFLAGS = $(filter-out -Wno-unused,$(TEMPLATE_VBOXMAINEXE_CXXFLAGS))<br>
-## @todo We're disabling optimizations on FreeBSD to work around strange linker<br>
-#        errors in release builds. Figure out why and how to work<br>
around it in a<br>
-#        more optimal fashion.<br>
-VBoxSVC_CXXFLAGS.freebsd = -O0<br>
<br>
  VBoxSVC_INCS = \<br>
         include \<br>
<br>
</blockquote>
<br></div></div>
_______________________________________________<br>
vbox-dev mailing list<br>
<a href="mailto:vbox-dev@virtualbox.org" target="_blank">vbox-dev@virtualbox.org</a><br>
<a href="http://vbox.innotek.de/mailman/listinfo/vbox-dev" target="_blank">http://vbox.innotek.de/mailman/listinfo/vbox-dev</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>-Howard<br>