FYI:C++ in the Linux Kernel

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Steven T. Hatton

    #1

    FYI:C++ in the Linux Kernel


    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

    #2
    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]

    Comment

    • Ioannis Vranos

      #3
      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


      Comment

      • Steven T. Hatton

        #4
        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

        Comment

        Working...