Connecting Tech Pros Worldwide Forums | Help | Site Map

FYI:C++ in the Linux Kernel

Steven T. Hatton
Guest
 
Posts: n/a
#1: Jul 23 '05
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


Rapscallion
Guest
 
Posts: n/a
#2: Jul 23 '05

re: FYI:C++ in the Linux Kernel


Steven T. Hatton wrote:[color=blue]
> http://netlab.ru.is/exception/LinuxCXX.shtml
> We have implemented a complete kernel level run-time support for C++ in the
> Linux kernel.[/color]

For people who don't want to read the paper at your homepage you could
answer some questions:
[color=blue]
> In particular our run-time support enables the full use of
> C++ exceptions in the Linux kernel,[/color]

What does this mean?
[color=blue]
> but notably also includes support for
> global constructors and destructors, and dynamic type checking.[/color]

What does this mean?
[color=blue]
> 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[/color]

Ioannis Vranos
Guest
 
Posts: n/a
#3: Jul 23 '05

re: FYI:C++ in the Linux Kernel


Steven T. Hatton wrote:
[color=blue]
> 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[/color]

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
Steven T. Hatton
Guest
 
Posts: n/a
#4: Jul 23 '05

re: FYI:C++ in the Linux Kernel


Ioannis Vranos wrote:
[color=blue]
> Steven T. Hatton wrote:
>[color=green]
>> 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[/color]
>
> 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. :-)
>[/color]

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

Closed Thread