This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Ecxeptions in Thumb
- From: Leonardo Mesquita <leonardo dot m at techlink dot com dot br>
- To: ecos-discuss at sources dot redhat dot com
- Date: Thu, 17 Apr 2003 15:22:15 -0300
- Subject: [ECOS] 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