[ECOS] Ecxeptions in Thumb

Leonardo Mesquita leonardo.m@techlink.com.br
Thu Apr 17 18:22:00 GMT 2003


    Hi,

    I am new in this list, but I could say I'm an Ecos "heavy user". I'm 
developing an operating system for an embedded system in an ARM 
platform, and I've had some problems generating Thumb code. I had to 
generate a gcc cross-compiler with the latest version, due to many bugs 
in thumb code generation, and eventually got it working fine, though I 
had to use a patch that wasn't in the CVS source.

    Still, I had to use the "-fno-exceptions" directive, even though 
there is not a single try/catch block in my code. With the exception 
support, some random errors occur, like register changing value 
"magically", wrong ARM/THUMB mode exchanges, etc. All of these problems 
are somehow related to IRQ handling, which makes everything very hard to 
debug. I think it could be something about the "new" operator in 
libsupc++, which would be one of the few parts of the generated code 
that actually throws an exception.

    The curious thing is I could get a fully functional version of the 
very same code WITH exception support if I omitted the -mthumb 
directive, that is, no Thumb code.

    I read somewhere in the Ecos homepage that similar errors could 
occur if the "GDB_CTRLC" option was enabled, which was not my case. Does 
anyone know what could possibly cause this behavior?

    Thanks, and sorry for my poor english,

    Leonardo Mesquita


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list