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