.text .p2align 4,,15 .globl get_ld .type get_ld, @function get_ld: subq $8, %rsp leaq ld@tlsld(%rip), %rdi call __tls_get_addr@PLT addq $8, %rsp addq $ld@dtpoff, %rax ret .size get_ld, .-get_ld .text .p2align 4,,15 .globl set_ld .type set_ld, @function set_ld: pushq %rbx movl %edi, %ebx leaq ld@tlsld(%rip), %rdi call *__tls_get_addr@GOTPCREL(%rip) movl %ebx, ld@dtpoff(%rax) popq %rbx ret .size set_ld, .-set_ld .text .p2align 4,,15 .globl test_ld .type test_ld, @function test_ld: pushq %rbx movl %edi, %ebx leaq ld@tlsld(%rip), %rdi call *__tls_get_addr@GOTPCREL(%rip) cmpl %ebx, ld@dtpoff(%rax) popq %rbx sete %al movzbl %al, %eax ret .size test_ld, .-test_ld .section .tbss,"awT",@nobits .align 4 .type ld, @object .size ld, 4 ld: .zero 4 .section .note.GNU-stack,"",@progbits