GC.LDC2 on Android

Danny Arends Danny.Arends at gmail.com
Tue Sep 8 13:39:38 UTC 2020


On Tuesday, 8 September 2020 at 13:20:24 UTC, kinke wrote:
> On Tuesday, 8 September 2020 at 12:47:11 UTC, Danny Arends 
> wrote:
>> How can I figure out which linker is used ? When performing a 
>> dub build, it just mentions that ldc2 is used for linking
>
> You can add -v as dub 'linker' flag, that will make LDC show 
> the actual cmdline. LDC v1.23 defaults to `-linker=bfd` for 
> Android targets though. And now I actually remember that you 
> should get a startup error in case the linker sections 
> arrangement is a problem, so it's most likely not the linker.
>
> The good feedback mentioned earlier, where the GC was 
> apparently no problem: 
> https://github.com/ldc-developers/ldc/issues/3461#issuecomment-648599814

Hmmm, very strange that I get crashes in the 
_D2gc4impl12conservativeQw3Gcx11fullcollectMFNbbZm...

I am using the SDL android-project as my project structure in 
Android studio. I am replacing the libmain.so which would 
normally be build from c/c++ with a libmain.so file created by D.

Everything compiles, deploys, and seems to work as expected.

Except for random crashes which went away after disabling the GC. 
It might be an interplay between Java, the SDL C trampoline code, 
and D threads or any of the other packages I am using (SDL_Mixer, 
SDL_Net, jni, d_android).

The weirdest thing is that after a segfault, the app closes, but 
swiping up will show the app as still running, clicking on it 
will re-start the app from scratch



More information about the Digitalmars-d-learn mailing list