I have succeeded in getting a basic C++ module to function inside the
FreeBSD 5.1 kernel.

I figured I'd show the small example I have cooked up which uses basic
C++ constructs such a new/delete and virtual inheritance.

As suggested I have turned off exceptions have been turned off along with
RTTI.


the source and Makefile can be found at:
http://www.cs.colorado.edu/~jgiacomo/fbsd_c++module

Things to note are:
a) I rolled my own .cc.o extension to the Makefile
removed -std=c99
added -fno-exceptions -fno-rtti -fno-builtin -nostdinc++
(-fno-builtin should be implied by -ffreestanding but does not seem to be)


b) __unused does not seem to work and needed to be #undef'ed
   * Any thoughts?

c) Constructs of the form "static void const * const" seem to be
silently ignored by the compiler. Possibly being 'inlined' in some fashion?
* Any thoughts?


part is 'c' is problem as various macros, such as MALLOC_DEFINE and
DEV_MODULE, use that construct for initialization.

thoughts? comments? suggestions?

John G

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to