> From: John Giacomoni [mailto:[EMAIL PROTECTED] > On Tuesday, Sep 9, 2003, at 00:29 America/Denver, Peter Jeremy wrote: > > > On Mon, Sep 08, 2003 at 11:12:59PM -0400, Alexander Kabaev wrote: > >> On Mon, 8 Sep 2003 23:02:33 -0400 > >> "Matthew Emmerton" <[EMAIL PROTECTED]> wrote: > >> > >>> I've been silently following this thread, and unless I missed > >>> something, has anyone asked John why he wants/needs to > use C++ in the > >>> kernel? > >>> > >> Tools, not policy :) > > > > True but if John explains more of what he is trying to do, maybe > > someone can suggest either a way to avoid C++ or some insights as to > > how he can get his C++ modules to work. > > > > Peter > > simple, I have preexisting C++ code which we are currently > using in userland and wish to push down into the kernel. > > It would be ideal to keep the source bases the same without > a rewrite to C. Admitting of course the possibility of having > to modify to be compatible with both use modes. > > At present I am attempting to see what we can and cannot do > in the kernel with C++
Speaking as someone who has implemented this for VxWorks [which is similar to BSD in some ways], its not easy, but its not impossible. here's the things you have to do: libstdc++/libgcc -> need to be linked in. static constructors/destructors need to be called, exception tables need to be linked. libgcc does this and is called from crt. If you want it to work for loadable modules, same deal, call the constructors/add the exception tables when module is loaded. thread-safety model in exception handling needs a .h file written for it and placed in the compiler. I think thr-vxworks.h was the one i wrote. none of this is impossible, or even particularly hard. it will just take some time. I think its very worthwhile, it would allow using e.g. STL, boost, etc in things like ipfw or other add-ins that have complex proprietary and often slower data structures. There's more to life than SLIST. _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"

