.text .p2align 4,,15 .globl get_ld .type get_ld, @function get_ld: pushl %ebx call __x86.get_pc_thunk.bx addl $_GLOBAL_OFFSET_TABLE_, %ebx subl $8, %esp leal ld@tlsldm(%ebx), %eax call ___tls_get_addr@PLT leal ld@dtpoff(%eax), %eax addl $8, %esp popl %ebx ret .size get_ld, .-get_ld .p2align 4,,15 .globl set_ld .type set_ld, @function set_ld: pushl %ebx call __x86.get_pc_thunk.bx addl $_GLOBAL_OFFSET_TABLE_, %ebx subl $8, %esp leal ld@tlsldm(%ebx), %eax call ___tls_get_addr@PLT movl 16(%esp), %edx leal ld@dtpoff(%eax), %eax movl %edx, (%eax) addl $8, %esp popl %ebx ret .size set_ld, .-set_ld .p2align 4,,15 .globl test_ld .type test_ld, @function test_ld: call __x86.get_pc_thunk.cx addl $_GLOBAL_OFFSET_TABLE_, %ecx subl $12, %esp leal ld@tlsldm(%ecx), %eax call *___tls_get_addr@GOT(%ecx) movl 16(%esp), %ecx leal ld@dtpoff(%eax), %eax cmpl %ecx, (%eax) sete %al addl $12, %esp 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 .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat .globl __x86.get_pc_thunk.bx .hidden __x86.get_pc_thunk.bx .type __x86.get_pc_thunk.bx, @function __x86.get_pc_thunk.bx: movl (%esp), %ebx ret .section .text.__x86.get_pc_thunk.cx,"axG",@progbits,__x86.get_pc_thunk.cx,comdat .globl __x86.get_pc_thunk.cx .hidden __x86.get_pc_thunk.cx .type __x86.get_pc_thunk.cx, @function __x86.get_pc_thunk.cx: movl (%esp), %ecx ret .section .note.GNU-stack,"",@progbits