| .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 |