From 46f79192f7fabc752831516529f0ac2bb862c341 Mon Sep 17 00:00:00 2001 From: lizzie Date: Mon, 30 Mar 2026 10:17:04 +0000 Subject: [PATCH] proper %gs tls for once --- src/core/tls.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/core/tls.cpp b/src/core/tls.cpp index 7256ff8c8..0c232748e 100644 --- a/src/core/tls.cpp +++ b/src/core/tls.cpp @@ -10,6 +10,8 @@ #ifdef _WIN32 #include +#elif defined(__FreeBSD__) +#include #elif defined(__APPLE__) && defined(ARCH_X86_64) #include #include @@ -168,6 +170,17 @@ 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