Hi Marcus,
Thanks. I am able to get this part working.
I am facing one more issue during dynamic linking and need some help to understand how to resolve it.
In below code part of __dls3 function I found that TPIDRURO register is being used to read the threadId.
I would like to understand how kernel should set this value ?
As per my understanding kernel should allocate memory and set this register for current task.
But when i do this in my kernel the values doesn't match up as MUSL is using some "builtin_tls" ?
/* Temporarily set the tls size to the full size of
* builtin_tls so that __copy_tls will use the same layout
* as it did for before. Then check, just to be safe. */
libc.tls_size = sizeof builtin_tls;
if (__copy_tls((void*)builtin_tls) != self) a_crash();
Thanks,
NJ