[dmd-internals] Support of OpenBSD

Konstantin Staver mad.skipjack at gmail.com
Tue Aug 7 09:14:36 PDT 2012


Hi.

I'm trying to port phobos2 and druntime2 to OpenBSD 5.1. I found next problems:

1) D compiler loops with '-O -release' flags. For example:
$ cat test.d
module my_mod;

void MyFunc()
{
    int[2] arr;
    for (size_t i = 0; i < 2; ++i) {
        arr[i] = 1;
    }
}
$ pwd
/home/walnut/work/druntime
$ dmd -lib -oflib/libtest.a -m32 -O -release -Isrc ./test.d
^C

2) File druntime/src/rt/memory.d (http://goo.gl/iD3me). I don't know
about gc_addRange params for OpenBSD :-(

3) "Empty main()" program crashes with segfault.

4) "Hello world" program failed to build with flag "-g" or "-gc":
$ cat hello.d
import std.stdio;
void main() { writeln("Hello, World!"); }
$ dmd -gc hello.d
Internal error: backend/cod3.c 2662

5) I don't know yet how implement poly from std.math (asm).

I'll be glad to any help: tips, links to docs and etc.

My work forks:
 https://github.com/MadSkipjack/druntime
 https://github.com/MadSkipjack/phobos

Thanks.


More information about the dmd-internals mailing list