April 20, 2011
By disabling the GC, I've managed to get GDC built on ARM (Linux), and using the patches on my ticket in Github, I've gotten Phobos and Druntime to compile, but I'm running into issues when I try to use fibers. Here's a simple test program:
----------
import core.thread;
import std.stdio;

void main() {
        writeln("Calling a fiber...");
        auto fiber = new Fiber(&fiberFunc);
        fiber.call();
        writeln("back in main");
}

void fiberFunc() {
        writeln("Fiber says hi!");
}
----------

It's pretty obvious that this program should print:
Calling a fiber...
Fiber says hi!
back in main

and on x86_64, that's what it does, but on ARM, I never get "Fiber says hi!" I'm not sure whether it's a compiler issue or druntime issue, but I've poked through the druntime source for the Fiber class and I haven't seen anything obvious. Any thoughts?