From f66938ba4e23fed7f68f6532ec64df79a9dbfad9 Mon Sep 17 00:00:00 2001 From: lizzie Date: Mon, 30 Mar 2026 10:30:47 +0000 Subject: [PATCH] better tls? + clang format --- src/core/tls.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/core/tls.cpp b/src/core/tls.cpp index 0c232748e..f87248114 100644 --- a/src/core/tls.cpp +++ b/src/core/tls.cpp @@ -157,30 +157,24 @@ Tcb* GetTcbBase() { return tcb; } -#elif defined(ARCH_X86_64) && !defined(__FreeBSD__) +#elif defined(ARCH_X86_64) // Linux x86_64 - +#if defined(__FreeBSD__) +void SetTcbBase(void* image_address) { + amd64_set_gsbase(image_address); +} +#else void SetTcbBase(void* image_address) { const int ret = syscall(SYS_arch_prctl, ARCH_SET_GS, (unsigned long)image_address); ASSERT_MSG(ret == 0, "Failed to set GS base: errno {}", errno); } +#endif Tcb* GetTcbBase() { return Libraries::Kernel::g_curthread->tcb; } -#elif defined(__FreeBSD__) -void SetTcbBase(void* image_address) { - amd64_set_gsbase(image_address); -} - -Tcb* GetTcbBase() { - void *addr = nullptr; - amd64_get_gsbase(&addr); - return static_cast(addr); -} - #else // POSIX non-x86_64