Skip site navigation (1)Skip section navigation (2)
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>