下表中列出的 TLS 重定位是针对 x64 定义的。表中的说明使用以下表示法。
在 GOT 中分配两个连续项,以存储 TLS_index 结构。此结构将传递给 __tls_get_addr()。此指令只能在确切的常规动态代码序列中。
在 GOT 中分配两个连续项,以存储 TLS_index 结构。此结构将传递给 __tls_get_addr()。在运行时,目标文件的 ti_offset 偏移字段将设置为零,并且 ti_module 偏移将初始化。对 __tls_get_addr () 函数的调用将返回动态 TLS 块的起始偏移。此指令可以用在确切的代码序列中。
计算变量相对于包含该变量的 TLS 块的起始位置的偏移。计算所得的值将用作加数的立即值,并且不与特定寄存器关联。
计算包含 TLS 符号的目标文件的标识符。
在 GOT 中分配一项,以将变量偏移保存在初始 TLS 块中。此偏移相对于 TLS 块的结束位置 %fs:0。运算符只能与 movq 或 addq 指令一起使用。
计算变量相对于 TLS 块结束位置 %fs:0 的偏移。不会创建任何 GOT 项。
|