1 #source: tlsnopic1.s 2 #source: tlsnopic2.s 3 #as: --32 4 #ld: -shared -melf_i386 --no-ld-generated-unwind-info 5 #objdump: -drj.text 6 #target: i?86-*-* 7 8 .*: +file format elf32-i386.* 9 10 Disassembly of section .text: 11 12 [0-9a-f]+ <fn3>: 13 +[0-9a-f]+: 55[ ]+push %ebp 14 +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp 15 # @indntpoff IE against global var 16 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 17 +[0-9a-f]+: 90[ ]+nop * 18 +[0-9a-f]+: 90[ ]+nop * 19 +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+c,%eax 20 # ->R_386_TLS_TPOFF sg1 21 +[0-9a-f]+: 90[ ]+nop * 22 +[0-9a-f]+: 90[ ]+nop * 23 +[0-9a-f]+: 90[ ]+nop * 24 +[0-9a-f]+: 90[ ]+nop * 25 # @indntpoff direct %gs access IE against global var 26 +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+0,%edx 27 # ->R_386_TLS_TPOFF sg2 28 +[0-9a-f]+: 90[ ]+nop * 29 +[0-9a-f]+: 90[ ]+nop * 30 +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax 31 +[0-9a-f]+: 90[ ]+nop * 32 +[0-9a-f]+: 90[ ]+nop * 33 +[0-9a-f]+: 90[ ]+nop * 34 +[0-9a-f]+: 90[ ]+nop * 35 # @indntpoff IE against hidden var 36 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 37 +[0-9a-f]+: 90[ ]+nop * 38 +[0-9a-f]+: 90[ ]+nop * 39 +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+4,%eax 40 # ->R_386_TLS_TPOFF [0x14000000] 41 +[0-9a-f]+: 90[ ]+nop * 42 +[0-9a-f]+: 90[ ]+nop * 43 +[0-9a-f]+: 90[ ]+nop * 44 +[0-9a-f]+: 90[ ]+nop * 45 # @indntpoff direct %gs access IE against hidden var 46 +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+8,%edx 47 # ->R_386_TLS_TPOFF [0x18000000] 48 +[0-9a-f]+: 90[ ]+nop * 49 +[0-9a-f]+: 90[ ]+nop * 50 +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax 51 +[0-9a-f]+: 90[ ]+nop * 52 +[0-9a-f]+: 90[ ]+nop * 53 +[0-9a-f]+: 90[ ]+nop * 54 +[0-9a-f]+: 90[ ]+nop * 55 # @indntpoff IE against local var 56 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 57 +[0-9a-f]+: 90[ ]+nop * 58 +[0-9a-f]+: 90[ ]+nop * 59 +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+4,%eax 60 # ->R_386_TLS_TPOFF [0x00000000] 61 +[0-9a-f]+: 90[ ]+nop * 62 +[0-9a-f]+: 90[ ]+nop * 63 +[0-9a-f]+: 90[ ]+nop * 64 +[0-9a-f]+: 90[ ]+nop * 65 # @indntpoff direct %gs access IE against local var 66 +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+8,%edx 67 # ->R_386_TLS_TPOFF [0x04000000] 68 +[0-9a-f]+: 90[ ]+nop * 69 +[0-9a-f]+: 90[ ]+nop * 70 +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax 71 +[0-9a-f]+: 90[ ]+nop * 72 +[0-9a-f]+: 90[ ]+nop * 73 +[0-9a-f]+: 90[ ]+nop * 74 +[0-9a-f]+: 90[ ]+nop * 75 # LE @tpoff, global var 76 +[0-9a-f]+: ba fd ff ff ff[ ]+mov \$0xfffffffd,%edx 77 # R_386_TLS_TPOFF32 sg3 78 +[0-9a-f]+: 90[ ]+nop * 79 +[0-9a-f]+: 90[ ]+nop * 80 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 81 +[0-9a-f]+: 90[ ]+nop * 82 +[0-9a-f]+: 90[ ]+nop * 83 +[0-9a-f]+: 29 d0[ ]+sub %edx,%eax 84 +[0-9a-f]+: 90[ ]+nop * 85 +[0-9a-f]+: 90[ ]+nop * 86 +[0-9a-f]+: 90[ ]+nop * 87 +[0-9a-f]+: 90[ ]+nop * 88 # LE @tpoff, local var 89 +[0-9a-f]+: b8 f7 ff ff ff[ ]+mov \$0xfffffff7,%eax 90 # R_386_TLS_TPOFF32 91 +[0-9a-f]+: 90[ ]+nop * 92 +[0-9a-f]+: 90[ ]+nop * 93 +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx 94 +[0-9a-f]+: 90[ ]+nop * 95 +[0-9a-f]+: 90[ ]+nop * 96 +[0-9a-f]+: 29 c2[ ]+sub %eax,%edx 97 +[0-9a-f]+: 90[ ]+nop * 98 +[0-9a-f]+: 90[ ]+nop * 99 +[0-9a-f]+: 90[ ]+nop * 100 +[0-9a-f]+: 90[ ]+nop * 101 # LE @ntpoff, global var 102 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 103 +[0-9a-f]+: 90[ ]+nop * 104 +[0-9a-f]+: 90[ ]+nop * 105 +[0-9a-f]+: 8d 90 02 00 00 00[ ]+lea 0x2\(%eax\),%edx 106 # R_386_TLS_TPOFF sg4 107 +[0-9a-f]+: 90[ ]+nop * 108 +[0-9a-f]+: 90[ ]+nop * 109 +[0-9a-f]+: 90[ ]+nop * 110 +[0-9a-f]+: 90[ ]+nop * 111 # LE @ntpoff, hidden var, non-canonical sequence 112 +[0-9a-f]+: b8 1c 00 00 00[ ]+mov \$0x1c,%eax 113 # R_386_TLS_TPOFF 114 +[0-9a-f]+: 90[ ]+nop * 115 +[0-9a-f]+: 90[ ]+nop * 116 +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx 117 +[0-9a-f]+: 90[ ]+nop * 118 +[0-9a-f]+: 90[ ]+nop * 119 +[0-9a-f]+: 01 c2[ ]+add %eax,%edx 120 +[0-9a-f]+: 90[ ]+nop * 121 +[0-9a-f]+: 90[ ]+nop * 122 +[0-9a-f]+: 90[ ]+nop * 123 +[0-9a-f]+: 90[ ]+nop * 124 # LE @ntpoff, local var, non-canonical sequence 125 +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx 126 +[0-9a-f]+: 90[ ]+nop * 127 +[0-9a-f]+: 90[ ]+nop * 128 +[0-9a-f]+: 81 c2 0d 00 00 00[ ]+add \$0xd,%edx 129 # R_386_TLS_TPOFF 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 # Direct %gs access 135 # LE @ntpoff, global var 136 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 137 # R_386_TLS_TPOFF sg5 138 +[0-9a-f]+: 90[ ]+nop * 139 +[0-9a-f]+: 90[ ]+nop * 140 +[0-9a-f]+: 90[ ]+nop * 141 +[0-9a-f]+: 90[ ]+nop * 142 # LE @ntpoff, local var 143 +[0-9a-f]+: 65 8b 15 13 00 00 00 mov %gs:0x13,%edx 144 # R_386_TLS_TPOFF 145 +[0-9a-f]+: 90[ ]+nop * 146 +[0-9a-f]+: 90[ ]+nop * 147 +[0-9a-f]+: 90[ ]+nop * 148 +[0-9a-f]+: 90[ ]+nop * 149 # LE @ntpoff, hidden var 150 +[0-9a-f]+: 65 8b 15 21 00 00 00 mov %gs:0x21,%edx 151 # R_386_TLS_TPOFF 152 +[0-9a-f]+: 90[ ]+nop * 153 +[0-9a-f]+: 90[ ]+nop * 154 +[0-9a-f]+: 90[ ]+nop * 155 +[0-9a-f]+: 90[ ]+nop * 156 +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx 157 +[0-9a-f]+: c9[ ]+leave * 158 +[0-9a-f]+: c3[ ]+ret * 159