Trouble with Android and arsd.jni

burt invalid_email_address at cab.abc
Thu Sep 10 13:14:00 UTC 2020


On Thursday, 10 September 2020 at 11:58:51 UTC, kinke wrote:
> On Thursday, 10 September 2020 at 11:16:55 UTC, burt wrote:
>> However, I am getting linker errors, telling me that _tlsend, 
>> _tlsstart and __bss_end__ are missing.
>
> Perhaps you happen to use some stale artifacts? These magic 
> symbols aren't used anymore in druntime since LDC v1.21, and 
> not defined by the compiler anymore. You also don't need the 
> dummy main() anymore. The object file containing the undefined 
> references should shed some light on what's still referencing 
> them.

I'm not sure if this was the cause, but I believe I was using old 
libdruntime-ldc.a and libphobos2-ldc.a files which where 
downloaded from before v1.21. So that issue is fixed.

However, the app is still crashing when I load it, and there 
appears to be an issue in Runtime.initialize(), which is called 
from JNI_OnLoad(), which is defined in arsd.jni. The debugger 
tells me that it was calling `getStaticTLSRange`, which calls 
`safeAssert` in the `__foreachbody`, which fails and eventually 
aborts.


More information about the Digitalmars-d-learn mailing list