Add back missing TlsAlloc() call

Cosmopolitan Libc once called this important function although somewhere
along the way, possibly in a refactoring, it got removed and __tls_alloc
has always been zero ever since.
This commit is contained in:
Justine Tunney 2024-07-21 20:45:27 -07:00
parent e08a4cd99e
commit 5d2d9e9640
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
5 changed files with 12 additions and 9 deletions

View file

@ -38,7 +38,7 @@ dontinstrument textstartup void __set_tls(struct CosmoTib *tib) {
#ifdef __x86_64__
// ask the operating system to change the x86 segment register
if (IsWindows()) {
asm("mov\t%1,%%gs:%0" : "=m"(*((long *)0x1480 + __tls_index)) : "r"(tib));
__set_tls_win32(tib);
} else if (IsLinux()) {
sys_set_tls(ARCH_SET_GS, tib);
} else if (IsFreebsd()) {