[ECOS] Mismatch between 'C' and 'C++' structures

Jonathan Larmour jlarmour@redhat.co.uk
Tue Jun 20 14:04:00 GMT 2000


Bill Marcotte wrote:
> 
> 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?

Jifl
-- 
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS  Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow."  ||  These opinions are all my own fault


More information about the Ecos-discuss mailing list