Date: Wed, 11 Feb 2009 15:25:04 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: Aniruddha Bohra <abohra@gmail.com>, hackers@freebsd.org Subject: Re: a little bit of c++ in kernel [module] Message-ID: <4992D1B0.8020708@icyb.net.ua> In-Reply-To: <43a2dc1a0902101243w5ce35609x35dbe440c39d80a8@mail.gmail.com> References: <43a2dc1a0902101243w5ce35609x35dbe440c39d80a8@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
on 10/02/2009 22:43 Aniruddha Bohra said the following: > You can see Click: http://read.cs.ucla.edu/click/ > It does not run on FreeBSD >4. > I have an old diff which builds on the work by Marko Zec and Bruce > Simpson, that allows me to load the click module. > http://www.cs.rutgers.edu/~bohra/click-1.5.0.diff > Aniruddha, thank you very much for the feedback! I looked through the code and the patch and I see the following: 1. options -fpermissive -fno-exceptions -fno-rtti are passed to c++ compiler 2. there are new/delete implementations that use kernel malloc I think that #1 means that there are no exceptions, (non-trivial) dynamic_cast and typeid for kernel c++ code. The questions that I have left: 1. do you use any global/static objects with constructors? did you have to write any code to call on those constructors when the module is loaded? 2. did you have to write any other run-time support code or platform glue code (besides new/delete)? 3. I assume virtual inheritance can be used in kernel code? do you use it? Thank you again! -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4992D1B0.8020708>