digitalmars.D.ldc - Towards exception handling on ARM
- David Nadlinger (34/34) Jan 06 2014 Hi all,
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 https://github.com/ldc-developers/ldc/issues/489, 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 { thrower(); } catch (Exception e) { writeln(e.msg); } } ——— There is still a long way to go through, as evidenced by this test suite log: https://gist.github.com/klickverbot/8294261. 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 cases. Best, David
Jan 06 2014