From 9f8961c18509432b785b7f3a00f039887df2ed88 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 fdbbd308c..6090f9816 100644 --- a/src/xenia/kernel/xthread.cc +++ b/src/xenia/kernel/xthread.cc @@ -188,7 +188,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