[ECOS] Mismatch between 'C' and 'C++' structures
Bill Marcotte
bill@pentek.com
Thu Jun 22 12:34:00 GMT 2000
> > I am currently working on an i960 port of ECOS. When I build ECOS
> with
> > Asserts enabled, I get the following message when I run the code:
> >
> > Size of C struct (cyg_mempool_var) !=
> > Size of C++ struct (Cyg_Mempool_Variable)
> >
> > sizeof(cyg_mempool_var) = 0x30
> > sizeof(Cyg_Mempool_Variable) = 0x40
> >
> > Does anyone know how to resolve this?
>
> Well the obvious question is whether you modified any of the generic
> kernel
> code in this area.
>
> Failing that, it would appear that the i960 g++ must pad C++ classes in
> some way different to i960 gcc pads structs. Perhaps there is some
> compiler
> switch that can be used to prevent this.
>
> And just to check, you are compiling the kernel with -fno-rtti aren't
> you?
>
I was able to resolve this problem by compiling with the mic-compat switch.
More information about the Ecos-discuss
mailing list