1#source: tlsgdesc.s 2#as: --32 3#ld: -shared -melf_i386 --no-ld-generated-unwind-info 4#objdump: -drj.text 5#target: i?86-*-* 6 7.*: +file format elf32-i386.* 8 9Disassembly of section .text: 10 11[0-9a-f]+ <fc1>: 12 +[0-9a-f]+: 55[ ]+push %ebp 13 +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp 14 +[0-9a-f]+: 53[ ]+push %ebx 15 +[0-9a-f]+: 50[ ]+push %eax 16 +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <.*> 17 +[0-9a-f]+: 5b[ ]+pop %ebx 18 +[0-9a-f]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]+,%ebx 19 +[0-9a-f]+: 90[ ]+nop * 20 +[0-9a-f]+: 90[ ]+nop * 21 +[0-9a-f]+: 90[ ]+nop * 22 +[0-9a-f]+: 90[ ]+nop * 23# @gottpoff IE against global var 24 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx 25 +[0-9a-f]+: 90[ ]+nop * 26 +[0-9a-f]+: 90[ ]+nop * 27 +[0-9a-f]+: 2b 8b e0 ff ff ff[ ]+sub -0x20\(%ebx\),%ecx 28# ->R_386_TLS_TPOFF32 sG3 29 +[0-9a-f]+: 90[ ]+nop * 30 +[0-9a-f]+: 90[ ]+nop * 31 +[0-9a-f]+: 90[ ]+nop * 32 +[0-9a-f]+: 90[ ]+nop * 33# @gotntpoff IE against global var 34 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx 35 +[0-9a-f]+: 90[ ]+nop * 36 +[0-9a-f]+: 90[ ]+nop * 37 +[0-9a-f]+: 03 8b f0 ff ff ff[ ]+add -0x10\(%ebx\),%ecx 38# ->R_386_TLS_TPOFF sG4 39 +[0-9a-f]+: 90[ ]+nop * 40 +[0-9a-f]+: 90[ ]+nop * 41 +[0-9a-f]+: 90[ ]+nop * 42 +[0-9a-f]+: 90[ ]+nop * 43# GD 44 +[0-9a-f]+: 8d 04 1d f8 ff ff ff[ ]+lea -0x8\(,%ebx,1\),%eax 45# ->R_386_TLS_DTPMOD32 sG1 46 +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> 47# ->R_386_JUMP_SLOT ___tls_get_addr 48 +[0-9a-f]+: 90[ ]+nop * 49 +[0-9a-f]+: 90[ ]+nop * 50 +[0-9a-f]+: 90[ ]+nop * 51 +[0-9a-f]+: 90[ ]+nop * 52 +[0-9a-f]+: 8d 83 18 00 00 00[ ]+lea 0x18\(%ebx\),%eax 53# ->R_386_TLS_DESC sG1 54 +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) 55 +[0-9a-f]+: 90[ ]+nop * 56 +[0-9a-f]+: 90[ ]+nop * 57 +[0-9a-f]+: 90[ ]+nop * 58 +[0-9a-f]+: 90[ ]+nop * 59 +[0-9a-f]+: 8d 83 10 00 00 00[ ]+lea 0x10\(%ebx\),%eax 60# ->R_386_TLS_DESC sG2 61 +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) 62 +[0-9a-f]+: 90[ ]+nop * 63 +[0-9a-f]+: 90[ ]+nop * 64 +[0-9a-f]+: 90[ ]+nop * 65 +[0-9a-f]+: 90[ ]+nop * 66 +[0-9a-f]+: 8d 04 1d e8 ff ff ff[ ]+lea -0x18\(,%ebx,1\),%eax 67# ->R_386_TLS_DTPMOD32 sG2 68 +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> 69# ->R_386_JUMP_SLOT ___tls_get_addr 70 +[0-9a-f]+: 90[ ]+nop * 71 +[0-9a-f]+: 90[ ]+nop * 72 +[0-9a-f]+: 90[ ]+nop * 73 +[0-9a-f]+: 90[ ]+nop * 74# GD -> IE because variable is referenced through @gottpoff too 75 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 76 +[0-9a-f]+: 2b 83 e0 ff ff ff[ ]+sub -0x20\(%ebx\),%eax 77# ->R_386_TLS_TPOFF32 sG3 78 +[0-9a-f]+: 90[ ]+nop * 79 +[0-9a-f]+: 90[ ]+nop * 80 +[0-9a-f]+: 90[ ]+nop * 81 +[0-9a-f]+: 90[ ]+nop * 82 +[0-9a-f]+: 8b 83 e0 ff ff ff[ ]+mov -0x20\(%ebx\),%eax 83# ->R_386_TLS_TPOFF32 sG3 84 +[0-9a-f]+: f7 d8[ ]+neg %eax 85 +[0-9a-f]+: 90[ ]+nop * 86 +[0-9a-f]+: 90[ ]+nop * 87 +[0-9a-f]+: 90[ ]+nop * 88 +[0-9a-f]+: 90[ ]+nop * 89# GD -> IE because variable is referenced through @gotntpoff too 90 +[0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%eax 91# ->R_386_TLS_TPOFF sG4 92 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax 93 +[0-9a-f]+: 90[ ]+nop * 94 +[0-9a-f]+: 90[ ]+nop * 95 +[0-9a-f]+: 90[ ]+nop * 96 +[0-9a-f]+: 90[ ]+nop * 97 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 98 +[0-9a-f]+: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax 99# ->R_386_TLS_TPOFF sG4 100 +[0-9a-f]+: 90[ ]+nop * 101 +[0-9a-f]+: 90[ ]+nop * 102 +[0-9a-f]+: 90[ ]+nop * 103 +[0-9a-f]+: 90[ ]+nop * 104# GD -> IE because variable is referenced through @gotntpoff too 105 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 106 +[0-9a-f]+: 03 83 e4 ff ff ff[ ]+add -0x1c\(%ebx\),%eax 107# ->R_386_TLS_TPOFF sG5 108 +[0-9a-f]+: 90[ ]+nop * 109 +[0-9a-f]+: 90[ ]+nop * 110 +[0-9a-f]+: 90[ ]+nop * 111 +[0-9a-f]+: 90[ ]+nop * 112 +[0-9a-f]+: 8b 83 e4 ff ff ff[ ]+mov -0x1c\(%ebx\),%eax 113# ->R_386_TLS_TPOFF sG5 114 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax 115 +[0-9a-f]+: 90[ ]+nop * 116 +[0-9a-f]+: 90[ ]+nop * 117 +[0-9a-f]+: 90[ ]+nop * 118 +[0-9a-f]+: 90[ ]+nop * 119# GD -> IE because variable is referenced through @gottpoff too 120 +[0-9a-f]+: 8b 83 f4 ff ff ff[ ]+mov -0xc\(%ebx\),%eax 121# ->R_386_TLS_TPOFF32 sG6 122 +[0-9a-f]+: f7 d8[ ]+neg %eax 123 +[0-9a-f]+: 90[ ]+nop * 124 +[0-9a-f]+: 90[ ]+nop * 125 +[0-9a-f]+: 90[ ]+nop * 126 +[0-9a-f]+: 90[ ]+nop * 127 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 128 +[0-9a-f]+: 2b 83 f4 ff ff ff[ ]+sub -0xc\(%ebx\),%eax 129# ->R_386_TLS_TPOFF32 sG6 130 +[0-9a-f]+: 90[ ]+nop * 131 +[0-9a-f]+: 90[ ]+nop * 132 +[0-9a-f]+: 90[ ]+nop * 133 +[0-9a-f]+: 90[ ]+nop * 134# @gotntpoff IE against global var 135 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx 136 +[0-9a-f]+: 90[ ]+nop * 137 +[0-9a-f]+: 90[ ]+nop * 138 +[0-9a-f]+: 03 8b e4 ff ff ff[ ]+add -0x1c\(%ebx\),%ecx 139# ->R_386_TLS_TPOFF sG5 140 +[0-9a-f]+: 90[ ]+nop * 141 +[0-9a-f]+: 90[ ]+nop * 142 +[0-9a-f]+: 90[ ]+nop * 143 +[0-9a-f]+: 90[ ]+nop * 144# @gottpoff IE against global var 145 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx 146 +[0-9a-f]+: 90[ ]+nop * 147 +[0-9a-f]+: 90[ ]+nop * 148 +[0-9a-f]+: 2b 8b f4 ff ff ff[ ]+sub -0xc\(%ebx\),%ecx 149# ->R_386_TLS_TPOFF32 sG6 150 +[0-9a-f]+: 90[ ]+nop * 151 +[0-9a-f]+: 90[ ]+nop * 152 +[0-9a-f]+: 90[ ]+nop * 153 +[0-9a-f]+: 90[ ]+nop * 154 +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx 155 +[0-9a-f]+: c9[ ]+leave * 156 +[0-9a-f]+: c3[ ]+ret * 157