This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Ecxeptions in Thumb



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]