By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,274 Members | 2,281 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,274 IT Pros & Developers. It's quick & easy.

FYI:C++ in the Linux Kernel

P: n/a
http://netlab.ru.is/exception/LinuxCXX.shtml
We have implemented a complete kernel level run-time support for C++ in the
Linux kernel. In particular our run-time support enables the full use of
C++ exceptions in the Linux kernel, but notably also includes support for
global constructors and destructors, and dynamic type checking. Our kernel
level support is based on open source commodity components, specifically
the GNU gcc/g++ compiler and its exception implementation, the C++ ABI
version independent standard interface.
Currently only the i386 architecture is supported. Furthermore the kernel
patch has only been tested with gcc version 3.3.3, and (with the 0.0.3
release) 3.4.3

....

--
"If our hypothesis is about anything and not about some one or more
particular things, then our deductions constitute mathematics. Thus
mathematics may be defined as the subject in which we never know what we
are talking about, nor whether what we are saying is true." - Bertrand
Russell

Jul 23 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Steven T. Hatton wrote:
http://netlab.ru.is/exception/LinuxCXX.shtml
We have implemented a complete kernel level run-time support for C++ in the
Linux kernel.
For people who don't want to read the paper at your homepage you could
answer some questions:
In particular our run-time support enables the full use of
C++ exceptions in the Linux kernel,
What does this mean?
but notably also includes support for
global constructors and destructors, and dynamic type checking.
What does this mean?
Our kernel
level support is based on open source commodity components, specifically
the GNU gcc/g++ compiler and its exception implementation, the C++ ABI
version independent standard interface.
Currently only the i386 architecture is supported. Furthermore the kernel
patch has only been tested with gcc version 3.3.3, and (with the 0.0.3
release) 3.4.3


Jul 23 '05 #2

P: n/a
Steven T. Hatton wrote:
http://netlab.ru.is/exception/LinuxCXX.shtml
We have implemented a complete kernel level run-time support for C++ in the
Linux kernel. In particular our run-time support enables the full use of
C++ exceptions in the Linux kernel, but notably also includes support for
global constructors and destructors, and dynamic type checking. Our kernel
level support is based on open source commodity components, specifically
the GNU gcc/g++ compiler and its exception implementation, the C++ ABI
version independent standard interface.
Currently only the i386 architecture is supported. Furthermore the kernel
patch has only been tested with gcc version 3.3.3, and (with the 0.0.3
release) 3.4.3


I think this would be better to be posted in Linux development newsgroups. True it may be
interesting for non Linux-kernel developers too, but only for encyclopaedic reasons. :-)


--
Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 23 '05 #3

P: n/a
Ioannis Vranos wrote:
Steven T. Hatton wrote:
http://netlab.ru.is/exception/LinuxCXX.shtml
We have implemented a complete kernel level run-time support for C++ in
the Linux kernel. In particular our run-time support enables the full use
of C++ exceptions in the Linux kernel, but notably also includes support
for global constructors and destructors, and dynamic type checking. Our
kernel level support is based on open source commodity components,
specifically the GNU gcc/g++ compiler and its exception implementation,
the C++ ABI version independent standard interface.
Currently only the i386 architecture is supported. Furthermore the
kernel
patch has only been tested with gcc version 3.3.3, and (with the 0.0.3
release) 3.4.3


I think this would be better to be posted in Linux development newsgroups.
True it may be interesting for non Linux-kernel developers too, but only
for encyclopaedic reasons. :-)


I posted it here for a variety of reasons. I believe it is relevant to how
C++ is, and can be used. Compare the opinions of the authors of the
article I referred to, and this opinion:

"In fact, in Linux we did try C++ once already, back in 1992. It sucks.
Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
"The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed: 1) the whole C++
exception handling thing is fundamentally broken. It's _especially_ broken
for kernels. 2) any compiler or language that likes to hide things like
memory allocations behind your back just isn't a good choice for a kernel.
3) you can write object-oriented code (useful for filesystems etc) in C,
_without_ the crap that is C++." - Linus Torvalds
--
"If our hypothesis is about anything and not about some one or more
particular things, then our deductions constitute mathematics. Thus
mathematics may be defined as the subject in which we never know what we
are talking about, nor whether what we are saying is true." - Bertrand
Russell

Jul 23 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.