This repository has been archived by the owner on Jan 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
undefined reference to __aeabi_read_tp on ModuleCtors #25
Comments
So, I found the thing about the TLS thing, so I implemented the functions as this on my C code: #define MAX_THREADS 32
thread_key_t tls_keys[MAX_THREADS];
#define CHECK_CREATE_KEY(index) if((index) > MAX_THREADS || (index) < 0) \
assert(0); \
if(tls_keys[index] == NULL) \
pthread_key_create(&tls_keys[index], NULL);
void* rtosbackend_getTLSPointerCurrThread(int index)
{
CHECK_CREATE_KEY(index);
return pthread_getspecific(tls_keys[index]);
//SCE -> return sceKernelGetTLSAddr(index);
}
void rtosbackend_setTLSPointerCurrThread(void* value, int index)
{
CHECK_CREATE_KEY(index);
pthread_setspecific(tls_keys[index], value);
} But now I'm getting an error called |
After some people said to me, I should have no Position Independent Code. So I went and added to DFLAGS: |
So, after putting class Test
{
__gshared static int[] testStaticConstructor;
immutable(char*) getStringFromD()
{
return "Hello World from D! Simple Test".ptr;
}
} But my |
Okay, it seems you have implemented that under the beta version. Okay. I found that import lwdr;
void main()
{
LWDR.startRuntime();
LWDR.stopRuntime();
} But then...:
|
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
In dub.json I have:
My D code:
The text was updated successfully, but these errors were encountered: