June 16, 2013
On 16 June 2013 02:13, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> On 16 June 2013 01:05, Adam D. Ruppe <destructionator@gmail.com> wrote:
>> nvm, I figured it out. I didn't pass the right ABI version when building runtime, so my fault.
>>
>> This is pretty exciting though, D is working and it wasn't really *that* much effort!
>
> It's been a few years in the making.  And there are still one or two things that need to be pushed upstream to the D front end.
>
> The last few months has been hugely beneficial for being architecture agnostic code generation.   So every problem you encounter when targeting a new platform would hopefully be in relation to the druntime C interface, which if you have patches for please send my way.  ;)
>


I would also invite you to run the test suite as well  ( make check-d ) and post all failed and unresolved tests as new bugs, where possible providing minimal test cases that trigger the issue.


Thanks
--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
June 16, 2013
Am Sun, 16 Jun 2013 02:05:15 +0200
schrieb "Adam D. Ruppe" <destructionator@gmail.com>:

> nvm, I figured it out. I didn't pass the right ABI version when building runtime, so my fault.
> 
> This is pretty exciting though, D is working and it wasn't really *that* much effort!

The compiler is in good shape. I ran the testsuite this weekend (it takes some time on a slow raspberry pi...). We have only 4 failing tests and one of those tests fails on all 32 bit targets. Then there are some unresolved tests which all come down to missing asm code in the testsuite or floating point precision differences.

However, the phobos unittests don't even build on ARM :-)
June 16, 2013
Am Sun, 16 Jun 2013 02:15:18 +0100
schrieb Iain Buclaw <ibuclaw@ubuntu.com>:

> On 16 June 2013 02:13, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> > On 16 June 2013 01:05, Adam D. Ruppe <destructionator@gmail.com> wrote:
> >> nvm, I figured it out. I didn't pass the right ABI version when building runtime, so my fault.
> >>
> >> This is pretty exciting though, D is working and it wasn't really *that* much effort!
> >
> > It's been a few years in the making.  And there are still one or two things that need to be pushed upstream to the D front end.
> >
> > The last few months has been hugely beneficial for being architecture agnostic code generation.   So every problem you encounter when targeting a new platform would hopefully be in relation to the druntime C interface, which if you have patches for please send my way.  ;)
> >
> 
> 
> I would also invite you to run the test suite as well  ( make check-d ) and post all failed and unresolved tests as new bugs, where possible providing minimal test cases that trigger the issue.
> 
> 
> Thanks
> --
> Iain Buclaw
> 
> *(p < e ? p++ : p) = (c & 0x0f) + '0';

I incidentally did that this weekend. Using a commit before the 2.063 merge I only get these failures:

FAIL: runnable/arrayop.d execution test http://bugzilla.gdcproject.org/show_bug.cgi?id=8

FAIL: runnable/opover2.d execution test http://bugzilla.gdcproject.org/show_bug.cgi?id=10

FAIL: runnable/template1.d execution test


FAIL: runnable/test4.d execution test
(common 32 bit bug?)
August 06, 2013
Hello!

I was trying to compile the latest version of GDC for ARM and meet multiple problems with static asserts. Do you know if ARM fixes exists?
August 22, 2013
Am Tue, 06 Aug 2013 23:28:51 +0200
schrieb "Timofei Bolshakov" <tbolsh@gmail.com>:

> Hello!
> 
> I was trying to compile the latest version of GDC for ARM and meet multiple problems with static asserts. Do you know if ARM fixes exists?

Sorry for the late answer. I'm currently working on ARM
support but it'll take a little bit longer than I first thought.

Anyway, you can get the latest updates here: https://github.com/jpf91/GDC/tree/arm

A small warning: The branch will get rebased occasionally. GCC-4.7 support will have to wait some more time though. In case you want to build a cross-compiler with ct-ng: The recent hg snapshots of crosstool-NG support GCC-4.8.
August 24, 2013
On Thursday, 22 August 2013 at 15:15:37 UTC, Johannes Pfau wrote:
> Am Tue, 06 Aug 2013 23:28:51 +0200
> schrieb "Timofei Bolshakov" <tbolsh@gmail.com>:
>
>> I was trying to compile the latest version of GDC for ARM and meet multiple problems with static asserts. Do you know if ARM fixes exists?
>
> Sorry for the late answer. I'm currently working on ARM
> support but it'll take a little bit longer than I first thought.

Do you have any plans for Android support?
August 24, 2013
Am Sat, 24 Aug 2013 19:18:42 +0200
schrieb "ilya-stromberg" <ilya-stromberg-2009@yandex.ru>:

> On Thursday, 22 August 2013 at 15:15:37 UTC, Johannes Pfau wrote:
> > Am Tue, 06 Aug 2013 23:28:51 +0200
> > schrieb "Timofei Bolshakov" <tbolsh@gmail.com>:
> >
> >> I was trying to compile the latest version of GDC for ARM and meet multiple problems with static asserts. Do you know if ARM fixes exists?
> >
> > Sorry for the late answer. I'm currently working on ARM
> > support but it'll take a little bit longer than I first thought.
> 
> Do you have any plans for Android support?

Not until the 'usual' Linux/GlibC combination works well on ARM. Android has it's own C library, Bionic. Druntime has only been tested on glibc on Posix systems so it's some work to port it. And Android also needs solid shared library support (A D shared library needs to be loaded by a Java app).
August 25, 2013
On Saturday, 24 August 2013 at 18:00:05 UTC, Johannes Pfau wrote:
> Am Sat, 24 Aug 2013 19:18:42 +0200
> schrieb "ilya-stromberg" <ilya-stromberg-2009@yandex.ru>:
>> Do you have any plans for Android support?
>
> Not until the 'usual' Linux/GlibC combination works well on ARM.

I understood. How are you close to finish the work?
Do you have any working examples, for example "Hello ARM"?
August 25, 2013
On Saturday, 24 August 2013 at 18:00:05 UTC, Johannes Pfau wrote:
> Not until the 'usual' Linux/GlibC combination works well on ARM.
> Android has it's own C library, Bionic. Druntime has only been tested
> on glibc on Posix systems so it's some work to port it. And Android
> also needs solid shared library support (A D shared library needs to be
> loaded by a Java app).

Same for the LDC side of things, by the way.

While we are at it: Did you have a look at how to support TLS with Bionic yet? A while back, I had a hard time trying to find any material on the issue yet, but from what I read, it didn't seem to be supported back then. I guess GDC could get away using GCC's emutls, though (apart from the problems this poses for the GC).

David
August 25, 2013
Am Sun, 25 Aug 2013 15:55:59 +0200
schrieb "ilya-stromberg" <ilya-stromberg-2009@yandex.ru>:

> On Saturday, 24 August 2013 at 18:00:05 UTC, Johannes Pfau wrote:
> > Am Sat, 24 Aug 2013 19:18:42 +0200
> > schrieb "ilya-stromberg" <ilya-stromberg-2009@yandex.ru>:
> >> Do you have any plans for Android support?
> >
> > Not until the 'usual' Linux/GlibC combination works well on ARM.
> 
> I understood. How are you close to finish the work?
> Do you have any working examples, for example "Hello ARM"?

import std.stdio;

version(ARM)
{
    void main()
    {
        writeln("Hello ARM");
    }
}

We're actually past the Hello-World stage. The test suite passes 100% with optimization disabled. There is one codegen bug with optimizations which really needs to be solved but those things are hard to track down. Druntime unit tests pass, phobos has ~10 failing unit tests.