generic q on freebsd

Kamal Prasad kamalpr at gmail.com
Wed Oct 7 07:08:03 UTC 2020


Android has a libc++. I think that can be ported into the kernel.
https://developer.android.com/ndk/guides/cpp-support 

thanks
-kamal

> On Oct 7, 2020, at 12:40 PM, 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?
> 
> 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