1 .text 2 .globl ___tls_get_addr 3 .type ___tls_get_addr, @function 4___tls_get_addr: 5 ret 6 .size ___tls_get_addr, .-___tls_get_addr 7.globl _start 8 .type _start, @function 9_start: 10 pushl %ebp 11 movl %esp, %ebp 12 pushl %esi 13 pushl %ebx 14 call .L3 15.L3: 16 popl %ebx 17 addl $_GLOBAL_OFFSET_TABLE_+[.-.L3], %ebx 18 movl %gs:foo2@NTPOFF, %esi 19 addl %gs:foo1@NTPOFF, %esi 20 movl foo3@GOTNTPOFF(%ebx), %eax 21 addl %gs:(%eax), %esi 22 leal foo4@TLSLDM(%edx), %eax 23 call *___tls_get_addr@GOT(%edx) 24 addl (%eax), %esi 25 leal foo5@TLSGD(%ebx), %eax 26 call *___tls_get_addr@GOT(%ebx) 27 addl (%eax), %esi 28 movl %esi, %eax 29 popl %ebx 30 popl %esi 31 leave 32 ret 33 .size _start, .-_start 34.globl foo1 35 .section .tbss,"awT",@nobits 36 .align 4 37 .type foo1, @object 38 .size foo1, 4 39foo1: 40 .zero 4 41.globl foo2 42 .align 4 43 .type foo2, @object 44 .size foo2, 4 45foo2: 46 .zero 4 47.globl foo3 48 .align 4 49 .type foo3, @object 50 .size foo3, 4 51foo3: 52 .zero 4 53.globl foo4 54 .align 4 55 .type foo4, @object 56 .size foo4, 4 57foo4: 58 .zero 4 59.globl foo5 60 .align 4 61 .type foo5, @object 62 .size foo5, 4 63foo5: 64 .zero 4 65