From 1e8541c65734aa3bd43176f271c745bae47a13c9 Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Mon, 20 Oct 2025 09:52:27 +0900 Subject: [PATCH] [XThread] Fix TLS pointer bug Guest code may directly read the tls_address field from thread structure to access TLS, and it expects the dynamic TLS area pointer --- src/xenia/kernel/xthread.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xenia/kernel/xthread.cc b/src/xenia/kernel/xthread.cc index 9eefa7994..ba72e2aec 100644 --- a/src/xenia/kernel/xthread.cc +++ b/src/xenia/kernel/xthread.cc @@ -187,7 +187,7 @@ void XThread::InitializeGuestObject() { guest_thread->stack_base = (this->stack_base_); guest_thread->stack_limit = (this->stack_limit_); guest_thread->stack_kernel = (this->stack_base_ - 240); - guest_thread->tls_address = (this->tls_static_address_); + guest_thread->tls_address = (this->tls_dynamic_address_); guest_thread->thread_state = 0; uint32_t process_info_block_address = creation_params_.guest_process ? creation_params_.guest_process