Date: Wed, 7 Oct 2020 12:50:59 +0530 From: Kamal Prasad <kamalpr@gmail.com> To: Warner Losh <imp@bsdimp.com> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: generic q on freebsd Message-ID: <C7F844A0-CC32-4570-A255-FAE34A906D0B@gmail.com> In-Reply-To: <C4AE5DDB-005E-45B1-8BF6-FC28647B4E90@gmail.com> References: <CAK=yUGJG=oVfy7XfnMkXB6XRBjbYhaVR8Zdv7R5wGqKjB=425Q@mail.gmail.com> <CANCZdfoaZYnsb6str64ezF0O4ORSQG%2BqMh9r0%2B42GqEQjBThOg@mail.gmail.com> <C4AE5DDB-005E-45B1-8BF6-FC28647B4E90@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Android has a libc++. I think that can be ported into the kernel. https://developer.android.com/ndk/guides/cpp-support=20 thanks -kamal > On Oct 7, 2020, at 12:40 PM, Kamal Prasad <kamalpr@gmail.com> wrote: >=20 > Thanks. Why is it difficult to port the C++ runtime to the kernel? I = mean what is the technological hurdle? >=20 > thanks > -kamal >=20 >=20 >=20 >=20 >=20 >=20 > On Oct 6, 2020, at 10:53 PM, Warner Losh <imp@bsdimp.com> wrote: >>=20 >> On Tue, Oct 6, 2020, 11:03 AM Kamal R. Prasad <kamalpr@gmail.com> = wrote: >>=20 >>> hello, >>>=20 >>> i am curious if it is possible to compile c++ code inside the = freebsd >>> kernel. >>>=20 >>=20 >>=20 >> Possible? Yes, with restrictions. Easy? No. >>=20 >> 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. >>=20 >> 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. >>=20 >> 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. >>=20 >> 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. >>=20 >> Good luck >>=20 >> Warner >> _______________________________________________ >> freebsd-arm@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-arm >> To unsubscribe, send any mail to = "freebsd-arm-unsubscribe@freebsd.org" >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C7F844A0-CC32-4570-A255-FAE34A906D0B>