On 8/05/2015 6:33 p.m., Vadim Lopatin wrote:
On Thursday, 7 May 2015 at 15:58:01 UTC, Joakim wrote:
On Sunday, 17 August 2014 at 18:19:29 UTC, Joakim wrote:
I'll keep updating the wiki with more info, how to build for the
command-line and run the druntime/phobos unit tests, along with
directions for future work.

An update: I tinkered with ldc and Android/ARM for the hackathon.
 Didn't get that working yet, but I took Dan Olson's advice to reuse
the existing llvm TLS function calls and got ldc to work with
Android/x86 a couple days ago.

41 of 42 druntime modules' tests pass: only core.internal convert
doesn't, but that module's tests aren't normally run by ldc anyway.
Around 15 of 71 phobos modules' tests fail somewhere, most likely
related to "long double" issues that either need to be backported, as
git master for ldc is still using a year-old druntime/phobos that
doesn't have some subsequent Android PRs, or fixed, but I haven't
looked into those much yet.  Obviously, I can reuse some of this work
for Android/ARM, so it should help.

I'm putting these in-progress patches online, in case my ultrabook
gets run over by a bus or someone else would like to tinker with
them.  All it required was a small patch to llvm:

https://gist.github.com/joakim-noah/1fb23fba1ba5b7e87e1a

and these patches for ldc, druntime, and phobos:

https://gist.github.com/joakim-noah/bb0b04965470332d10e4
https://gist.github.com/joakim-noah/c27a0c7f2b5b65cdc268
https://gist.github.com/joakim-noah/07ed7ab1e5732ab91126

Most of the druntime and phobos patches were backported from PRs
already committed in their respective master branches.  The only real
new work is in druntime's rt.sections_ldc.  It's all a bit hacky right
now, but I'll clean it up and submit PRs eventually.

I tried the same approach that worked on x86 on ARM, with the similar
ARM GOT relocation as can be seen in the llvm patch above, but it
didn't work.  I'm reading up on the relevant ELF relocation info and
looking at the ARM assembly.  If anybody better versed with those
low-level linker details would like to chip in, that should be the
last remaining piece to get much of Android/ARM working.

Good news! Thank you for your work!

Once Android support become working, I'm planning to add Android support
to DlangUI library. It's actually a port of C++ UI library I'm using on
Android for Cool Reader GL app. So it should not be hard to port it back
to Android.

Best regards,
      Vadim

I'm also looking forward to it. Assuming a getting started tutorial is made, I'll probably get Devisualization.Window support for it as well within a month.

Reply via email to