arm/interwork - arm code recognised as thumb !

Nick Clifton nickc@redhat.com
Thu May 13 16:03:00 GMT 2004


Hi Sven,

>I am using eCos, compiled as thumb (interwork enabled). My application
>is arm32 code and I use a c++ template class. The output of the
>gcc-3.3.3 seems OK. But the linker add the template class as thumb,
>

When you say that the linker "add the template class as thumb" I assume 
that you mean that the linker creates a calling stub between your arm32 
application and the instance of the class, and that this stub switches 
over to thumb mode before executing the class ?

> but it is arm32. My applications crashes at that point.
>  
>

It sounds as if G++ is failing to label the class code as being arm32 
code.  If you look at the compiler's assembler output for the class what 
do you see ?  Is there a ".code 32" pseudo op ?

Anyway it is most likely that this is a compiler bug rather than a 
binutils bug.  Can you put together a *small* piece of test code which 
demonstrates the problem and submit it to the gcc bugs mailing list ?

Cheers
  Nick



More information about the Binutils mailing list