2008/2/9, Jan Engelhardt <[EMAIL PROTECTED]>: > > On Feb 9 2008 00:14, Joonwoo Park wrote: > >2008/2/8, rohit h <[EMAIL PROTECTED]>: > >> Hi, > >> I am a kernel newbie. > >> I tried to insmod a C++ module containing classes, inheritance. > >> I am getting 'unresolved symbol' error when I use the 'new' keyword. > >> What could the problem be? > >> > >> What kind of runtime support is needed ( arm linux kernel)? Is a > >> patch available for it? > >> > >Please take a look at click modular router which is using c++ as a > >linux kernel module. > >http://www.read.cs.ucla.edu/click/ > >The lib/glue.cc provides custom operator new. > > Uh, let's not make the world worse :) > Just call malloc from C++, and carefully select what C++ features > you are going to use. The VMware source for example does it right. >
Yep, also I think that if kmalloc is possible it would better than the operator new. Rohit, Compiling the kernel module with g++ is not a simple work, you may need big patch for kernel itself. The c++ has more internal keywords than c. e.g) new, delete, and :: The new and delete should be re-spelled with another names. The '::' is used in inline assembly however in c++ it means global namespace. In conclusion, I don't recommand c++ for linux kernel without very special goal like the click project :) Joonwoo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/