Exceptions in ARM
Johannes Pfau
nospam at example.com
Wed Jan 1 11:29:08 PST 2014
Am Wed, 01 Jan 2014 14:02:42 +0000
schrieb "Timo Sintonen" <t.sintonen at luukku.com>:
> I started to update minlibd with gdc head from last saturday.
> While testing if exceptions work, the program just stops and does
> not reach catch or abort.
>
> Before investigating further, I want to ask the status of arm
> exceptions: are they known to work, known not to work or is the
> status just unknown?
They work just as well on ARM/linux/glibc as on x86/glibc/linux.
(Exception chaining isn't working on any architecture, IIRC).
There's a problem with nothrow functions on ARM though: GDC currently
marks nothrow functions with TREE_NOTHROW. However, if such a functions
throws an Error (which is legal in D) the program crashes. The
solution is not setting TREE_NOTHROW, see here:
https://github.com/jpf91/GDC/commit/935198bda01ada89d946ee28819253cca872bea5
>
> Does anybody know if there are any good articles of exceptions
> and unwinding in gcc or in general?
>
>
The keywords here are 'dwarf exceptions' and 'sjlj exceptions' (or
setjump/longjump exceptions) and you probably want 'dwarf exceptions'.
http://gcc.gnu.org/ml/gcc/2002-07/msg00391.html
More information about the D.gnu
mailing list