mirror of
https://github.com/taigrr/gopher-os
synced 2025-01-18 04:43:13 -08:00
According to the ELF runtime handling of TLS document, the x86-64 arch uses the same TLS handling variant (GNU) as the IA-32 ABI with the exception that pointers are 8-byte wide and that the gs register is swapped with fs. fs:0x0 points to the TCB; TLS variables are located before it and are accessed using negative offsets from the TCB pointer. In the Go case the G struct is accessed at fs:-0x8. For more detauls see: https://www.akkadia.org/drepper/tls.pdf
Description
Languages
Go
84.9%
ASL
10.2%
Assembly
4%
Makefile
0.9%