On Sun, Jun 21, 2020 at 12:40:00AM +0000, Rin Okuyama wrote: > - Obsolete __lwp_settcb() in order to let kernel know new TLS address via > _lwp_setprivate(2). Alternatively, we can call _lwp_setprivate(2) within > __lwp_settcb() like mips, but it is just double handling; we adjust %r2 > appropriately in _lwp_setprivate(2) via cpu_lwp_setprivate().
If an architecture stores the TCB at an offset, it should provide __lwp_settcb to do the necessary adjust and then invoke _lwp_setprivate as appropiate. The MIPS variant is correct. This should *not* be done in the kernel, as it is an ABI detail of the userland TLS API. Joerg