generic q on freebsd

Warner Losh imp at bsdimp.com
Wed Oct 7 07:52:00 UTC 2020


On Wed, Oct 7, 2020, 12:57 AM Kamal Prasad <kamalpr at gmail.com> wrote:

> Thanks. Why is it difficult to port the C++ runtime to the kernel? I mean
> what is the technological hurdle?
>

Generally they make use of STL or other standard classes which has no
kernel safe implementation at the moment. It's not super hard, irc, just
really tedious to implement them in a safe way.

Warner


thanks
> -kamal
>
>
>
>
>
>
> On Oct 6, 2020, at 10:53 PM, Warner Losh <imp at bsdimp.com> wrote:
> >
> > On Tue, Oct 6, 2020, 11:03 AM Kamal R. Prasad <kamalpr at gmail.com> wrote:
> >
> >> hello,
> >>
> >> i am curious if it is possible to compile c++ code inside the freebsd
> >> kernel.
> >>
> >
> >
> > Possible? Yes, with restrictions. Easy? No.
> >
> > There are a number of restrictions on doing this. There is no C++ runtime
> > support provided in stock FreeBSD. You have to write your own, or find
> > someone else that has published theirs. And the code is likely to be
> > compiler dependent. People have done it and talked or blogged about it.
> >
> > Generally, if you don't use exceptions, templates, RTTI, expressions that
> > result in the automatic allocation of objects, have large objects (> 1k)
> on
> > the stack, etc, it may be possible. I tried it in the 90s and had to
> write
> > just a few routines to make simple classes work, but there's a lot of
> > dragons here and very little C++ code is written these days w/o reference
> > to the standard libraries, which aren't present in the kernel.
> >
> > Some googling turns up:
> > https://github.com/adamlsd/libcpp.ko from 6 years ago
> > https://lists.freebsd.org/pipermail/freebsd-arch/2018-June/019069.html
> has
> > some details from 2 years ago about command line args you might need.
> >
> > Many have tried. Few have succeeded. Those that have write all their code
> > to conform to a subset of the language. Few have had success moving C++
> > code for other purposes into the kernel, though if it was written using
> the
> > proposed (but never ratified) eC++ (embedded subset), then chances are
> > greater.
> >
> > Good luck
> >
> > Warner
> > _______________________________________________
> > freebsd-arm at freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>
>


More information about the freebsd-arm mailing list