kern/99979: Get Ready for Kernel Module in C++

mag at intron.ac mag at intron.ac
Mon Jul 10 14:09:31 UTC 2006


Joseph Koshy wrote:

> 
>> I would write my kernel module in C++, just like IOKit
>> of OpenDarwin. Thus, all conflicts against C++ in current
>> FreeBSD kernel source must be swept out firstly.
> 
> Your patch is missing the following:
> 
> - runtime support for static constructors and destructors
> - runtime support for C++ exceptions
> - support for RTTI
> 
> Don't forget that these need to work in kernel modules
> too.
> 
> -- 
> FreeBSD Volunteer,     http://people.freebsd.org/~jkoshy


      You are quite right. But those C++ features should be implemented
step by step. Actually, Apple hasn't implemented all C++ features in
Darwin/Mac OS X so far. See Apple's document:

http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/Features/chapter_2_section_6.html

      My original motivation to write FreeBSD kernel module in C++ is
to create a more handy object model inside FreeBSD kernel. Naturally,
I choose OpenDarwin's IOKit as an example. But I wouldn't consider it
to be ideal, because it is still obscure to learn/master.

      I will implement C++ features you pointed one by one in the future.
Especially for RTTI, I always regard virtual member function as part of
C++'s soul.

      If you agree with me, please commit 4 patches in the following
base64-encoded bzip2-ed tarball ("b64decode -p testcpp.b64|tar xjvf -").
------------------------------------------------------------------------
                                                From Beijing, China
begin-base64 644 -
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
====



More information about the freebsd-hackers mailing list