August 25, 2013 Re: ARM targetting cross-toolchain with GDC | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | Am Sun, 25 Aug 2013 17:11:42 +0200
schrieb "David Nadlinger" <code@klickverbot.at>:
> 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
Not really. It wasn't supported in Bionic at all when I last looked into it. At some point I thought about just implementing TLS in bionic and trying to get it into Android. Probably a little to advanced for me but we could basically copy the code from freebsd.
The problem with this is that it will take some more years till a recent bionic is available on most Android devices.
emutls can work for gdc but we have no good solution to integrate this with the GC yet. At least it'll never be really fast (The problem is that emutls doesn't use contiguous memory. Every variable could be malloced at a random address)
|
August 26, 2013 Re: ARM targetting cross-toolchain with GDC | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johannes Pfau | On 2013-08-25 20:46, Johannes Pfau wrote: > Not really. It wasn't supported in Bionic at all when I last looked > into it. At some point I thought about just implementing TLS in bionic > and trying to get it into Android. Probably a little to advanced for me > but we could basically copy the code from freebsd. Isn't it possible to implement it in the runtime? Basically doing what the dynamic linker would do. Although I don't know if enough API is exposed for this. It would not support all TLS models but at least one. -- /Jacob Carlborg |
August 26, 2013 Re: ARM targetting cross-toolchain with GDC | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | Am Mon, 26 Aug 2013 09:04:31 +0200
schrieb Jacob Carlborg <doob@me.com>:
> On 2013-08-25 20:46, Johannes Pfau wrote:
>
> > Not really. It wasn't supported in Bionic at all when I last looked into it. At some point I thought about just implementing TLS in bionic and trying to get it into Android. Probably a little to advanced for me but we could basically copy the code from freebsd.
>
> Isn't it possible to implement it in the runtime? Basically doing what the dynamic linker would do. Although I don't know if enough API is exposed for this.
>
> It would not support all TLS models but at least one.
>
Maybe, I haven't had a detailed look at that.
|
Copyright © 1999-2021 by the D Language Foundation