Towards exception handling on ARM

David Nadlinger code at
Mon Jan 6 23:11:51 PST 2014

Hi all,

Just wanted to share the latest news concerning ARM support.

I just had another go at fixing exception handling on ARM, and with
the very, _very_ crude patch linked in, simple instances of
EH such as in the following example now behave as expected: (LLVM 3.3,
ldc merge-2.064, armv7l-unknown-linux-gnueabihf)

void thrower() {
    throw new Exception("Hello World!");

void main() {
    import std.stdio;
    try {
    } catch (Exception e) {

There is still a long way to go through, as evidenced by this test
suite log: I cancelled
the build of the std.algorithm tests due to its ridiculous memory
requirements (in ARM SoC terms), but note that quite a few tests are
segfaulting in strange ways. Many of which turn out to be caused by
remaining unwinding issues (just look at the backtrace in GDB).

I don't think I'll really have the time to resume work on this until
end of January or so, but if somebody else wants to continue where I
left off, I'd be glad to provide assistance. The next step I'd suggest
is getting the dmd-testsuite machinery to run, so as to iron out the
most critical bugs before attacking the more complex Phobos test


More information about the digitalmars-d-ldc mailing list