This proposal requests the addition of a method for software-based TLS pointer retrieval in the AArch64 ABI. A proposed implementation, similar to the approach used in AArch32 with __aeabi_read_tp(), is outlined in llvm/llvm-project#130932.
In that implementation, an option is provided to obtain the TLS pointer via a call to a user/libc-defined __aarch64_read_tp() (enabled with the -mtp=soft flag in clang), which is necessary for platforms like Nintendo Switch Horizon OS. On such systems, the TLS pointer is determined by a calculated offset from TPIDR_EL0 rather than being directly accessible from a dedicated register.