Re: unresolved symbols with 2.0.34

Vasili Goutas (vgo@ratio.de)
Fri, 21 Aug 1998 08:50:25 +0200


Alan Cox wrote:
>
> > > C++ does name mangling. Thats going to make life entertaining. The
> > > pcibios_* functions appear to be mangled which suggests they aren't
> > > extern "C" ..
> >
> > Is it possible to make them extern "C" by rebuilding the kernel and the
> > libs?
>
> You misunderstand. You need to declare those interfaces extern "C" in
> your module so that the C++ compiler outputs C names and C calling
> sequences for it
>
> > > > kip5.o: unresolved symbol __builtin_delete
> > > > kip5.o: unresolved symbol __builtin_new
> > >
> > > And these two are C++ library internal functions not present in the
> > > kernel
> > OK these one can replaced with kmalloc(..) & kfree(..).
>
> Yep
>
> > > you are hitting C++/C linking stuff
> >
> > So do you think there is no way to write driver in C++?
>
> Im sure you can do it. Once you fix __builtin_new and __builtin_free
> you should be well on the way. What I meant was you are hitting stuff
> caused by trying to use C++ rather than they arent fixable

Thanks, it works.
I declared all of the source extern "C" and get the new and delete out.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html