Question about LDC and --gc-sections

H. S. Teoh hsteoh at quickfur.ath.cx
Tue Oct 30 16:35:31 UTC 2018


On Saturday, 27 October 2018 at 06:03:02 UTC, Joakim wrote:
> On Friday, 26 October 2018 at 16:24:50 UTC, H. S. Teoh wrote:
[...]
>> My main code is in D, but consists of a bunch of functions 
>> repeatedly called from the Java wrapper as native functions. 
>> Main reason is that for GUI interactions it makes more sense 
>> to leverage the Java APIs provided by Android, rather than to 
>> go through the pain of marshalling and calling Java functions 
>> via JNIEnv. (There are a couple of places where this is 
>> necessary, e.g., when D code needs to trigger a GUI action, 
>> but I'm trying to keep this to a minimum.)
>
> Will this app be publicly disclosed at some point or is it an 
> internal app that you won't be making public? I ask because 
> AFAIK it would be the first real project to use D on Android, 
> so it would be good to publicize it.

Well, this is my first time writing an Android app, and if it 
ever gets to the point where I feel it's fit for public 
consumption, then I certainly would publish it.  But for the time 
being, it's just a pet project.


[...]
>> I do have an empty main() in the .so, though, per your 
>> recommendations on that wiki page.  Does that make a 
>> difference?
>
> It's not a recommendation, the wiki page notes that the 
> emulated TLS scheme used "requires some changes." However, I'm 
> currently reworking the way emulated TLS data is stored to 
> remove all three of those listed requirements: kinke suggested 
> reading the ELF section headers instead, and so far it seems to 
> work with the ld.bfd, gold, and lld linkers, but I'm still 
> optimizing it and haven't tested it with a shared library yet. 
> Hopefully, those changes for emulated TLS on Android listed on 
> the wiki won't be needed with the upcoming 1.13 release.

That's good news. Looking forward to the next LDC release!

Side note: I notice that the latest LDC release is basically on 
par with the current DMD release.  This is an extremely good 
thing IMO, since it makes LDC a real and serious offer among the 
"official" D compilers.  I thought I should publicly state how 
happy I am with the amazing work the LDC maintainers have done to 
make this happen. Kudos!

And what with the recent official inclusion of GDC into GCC 
upstream, D is shaping up to be a powerful force indeed.


More information about the Digitalmars-d mailing list