D for Android

Dan Olson via Digitalmars-d digitalmars-d at puremagic.com
Fri May 8 09:42:20 PDT 2015


"Joakim" <dlang at joakim.fea.st> writes:

> 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.

Joakim, the ldc merge-2.067 branch works well and has updated
druntime/phobos.  I know it has some of your Android updates.  You may
have more fun working with it.

> 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.

I am not better versed, but I do like to tinker, so maybe I'll see
something this weekend.

I wonder if we should keep a common LLVM fork with changes to support D
on targets without builtin TLS?  I did another LLVM hack in x86 backend
to support TLS on iPhone sim, and have been thinking about adding a
fallback TLS, like emulated tls that gcc and gdc has, to support TLS
using a target plugin to get lookup address.  That way it could be wired
into any old embedded multi thread RTOS with some sort of thread-local
support.

Maybe someday could even get LLVM to accept some patches.


More information about the Digitalmars-d mailing list