gdc / nokia / arm-*-gnueabi
Michael Dominic Kostrzewa
michael.kostrzewa at nokia.com
Sat Jan 13 12:28:16 PST 2007
Hey
I'm building an arm gdc cross-compiler that'll compile D code to run on
maemo[0] platforms (nokia 770[1] and nokia n800[2] internet tablets).
There is a bunch of us here at nokia interested in experimenting with
D/making it a core part of our platform in the long run.
The good:
I was able to build an arm-*-linux cross-compiling gdc toolchain & phobos.
It works perfectly. The produced code runs correctly on the device, even
including the garbagge-collector. I had to apply some patching here and
there (mostly to phobos) but nothing specifically magical.
Screenshot:
http://www.flickr.com/photo_zoom.gne?id=329290303&size=l
The bad:
We're no longer using arm-*-linux target. We're using the newer
arm-*-linux-gnueabi (armel) abi. This is a more powerfull eabi that allows
thumb interworking, etc. The gdc doesn't seem to work when compiled for
this target. To be precise -- the cc1d segfaults during compilation of
certain language structs (it happens when trying to compile phobos). The
segfaults are not totally random nor _very_ often (ie. it's possible to
compile some phobos files without problems). But something is obviously
broken ;)
Some data:
Debug backtrace of cc1d leading to segfault:
http://pastebin.ca/315685
Outout during phobos building:
http://pastebin.ca/315687
Strace of cc1d leading to segfault:
http://pastebin.ca/315694
I'm building gdc using gcc-3.4.4 from CodeSourcery (this is our default
toolchain).
Any help/pointers would be appreciated!
Regards,
[0]: http://www.maemo.org
[1]: http://www.nokia.com/770
[2]: http://www.nseries.com/n800
--
Michael Dominic Kostrzewa
Nokia - Multimedia
Helsinki
More information about the Digitalmars-d
mailing list