.text .p2align 4,,15 .globl get_ld .type get_ld, @function get_ld: subq $8, %rsp leaq _TLS_MODULE_BASE_@TLSDESC(%rip), %rax call *_TLS_MODULE_BASE_@TLSCALL(%rax) addq $8, %rsp addq $ld@dtpoff, %rax addq %fs:0, %rax ret .size get_ld, .-get_ld .p2align 4,,15 .globl set_ld .type set_ld, @function set_ld: subq $8, %rsp leaq _TLS_MODULE_BASE_@TLSDESC(%rip), %rax call *_TLS_MODULE_BASE_@TLSCALL(%rax) movl %edi, %fs:ld@dtpoff(%rax) addq $8, %rsp ret .size set_ld, .-set_ld .p2align 4,,15 .globl test_ld .type test_ld, @function test_ld: subq $8, %rsp leaq _TLS_MODULE_BASE_@TLSDESC(%rip), %rax call *_TLS_MODULE_BASE_@TLSCALL(%rax) cmpl %edi, %fs:ld@dtpoff(%rax) sete %al addq $8, %rsp movzbl %al, %eax ret .size test_ld, .-test_ld .p2align 4,,15 .globl get_gd .type get_gd, @function get_gd: subq $8, %rsp leaq gd@TLSDESC(%rip), %rax call *gd@TLSCALL(%rax) addq $8, %rsp addq %fs:0, %rax ret .size get_gd, .-get_gd .p2align 4,,15 .globl set_gd .type set_gd, @function set_gd: subq $8, %rsp leaq gd@TLSDESC(%rip), %rax call *gd@TLSCALL(%rax) movl %edi, %fs:(%rax) addq $8, %rsp ret .size set_gd, .-set_gd .p2align 4,,15 .globl test_gd .type test_gd, @function test_gd: subq $8, %rsp leaq gd@TLSDESC(%rip), %rax call *gd@TLSCALL(%rax) cmpl %edi, %fs:(%rax) sete %al addq $8, %rsp movzbl %al, %eax ret .size test_gd, .-test_gd .section .tbss,"awT",@nobits .align 4 .type ld, @object .size ld, 4 ld: .zero 4