1#source: tlsnopic1.s 2#source: tlsnopic2.s 3#as: --32 4#ld: -shared -melf_i386 5#objdump: -drj.text 6#target: i?86-*-* 7 8.*: +file format elf32-i386 9 10Disassembly of section .text: 11 120+1000 <fn3>: 13 1000: 55[ ]+push %ebp 14 1001: 89 e5[ ]+mov %esp,%ebp 15# @indntpoff IE against global var 16 1003: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 17 1009: 90[ ]+nop * 18 100a: 90[ ]+nop * 19 100b: 03 05 94 20 00 00[ ]+add 0x2094,%eax 20# ->R_386_TLS_TPOFF sg1 21 1011: 90[ ]+nop * 22 1012: 90[ ]+nop * 23 1013: 90[ ]+nop * 24 1014: 90[ ]+nop * 25# @indntpoff direct %gs access IE against global var 26 1015: 8b 15 98 20 00 00[ ]+mov 0x2098,%edx 27# ->R_386_TLS_TPOFF sg2 28 101b: 90[ ]+nop * 29 101c: 90[ ]+nop * 30 101d: 65 8b 02[ ]+mov %gs:\(%edx\),%eax 31 1020: 90[ ]+nop * 32 1021: 90[ ]+nop * 33 1022: 90[ ]+nop * 34 1023: 90[ ]+nop * 35# @indntpoff IE against hidden var 36 1024: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 37 102a: 90[ ]+nop * 38 102b: 90[ ]+nop * 39 102c: 03 05 9c 20 00 00[ ]+add 0x209c,%eax 40# ->R_386_TLS_TPOFF [0x14000000] 41 1032: 90[ ]+nop * 42 1033: 90[ ]+nop * 43 1034: 90[ ]+nop * 44 1035: 90[ ]+nop * 45# @indntpoff direct %gs access IE against hidden var 46 1036: 8b 15 a0 20 00 00[ ]+mov 0x20a0,%edx 47# ->R_386_TLS_TPOFF [0x18000000] 48 103c: 90[ ]+nop * 49 103d: 90[ ]+nop * 50 103e: 65 8b 02[ ]+mov %gs:\(%edx\),%eax 51 1041: 90[ ]+nop * 52 1042: 90[ ]+nop * 53 1043: 90[ ]+nop * 54 1044: 90[ ]+nop * 55# @indntpoff IE against local var 56 1045: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 57 104b: 90[ ]+nop * 58 104c: 90[ ]+nop * 59 104d: 03 05 8c 20 00 00[ ]+add 0x208c,%eax 60# ->R_386_TLS_TPOFF [0x00000000] 61 1053: 90[ ]+nop * 62 1054: 90[ ]+nop * 63 1055: 90[ ]+nop * 64 1056: 90[ ]+nop * 65# @indntpoff direct %gs access IE against local var 66 1057: 8b 15 90 20 00 00[ ]+mov 0x2090,%edx 67# ->R_386_TLS_TPOFF [0x04000000] 68 105d: 90[ ]+nop * 69 105e: 90[ ]+nop * 70 105f: 65 8b 02[ ]+mov %gs:\(%edx\),%eax 71 1062: 90[ ]+nop * 72 1063: 90[ ]+nop * 73 1064: 90[ ]+nop * 74 1065: 90[ ]+nop * 75# LE @tpoff, global var 76 1066: ba fd ff ff ff[ ]+mov \$0xfffffffd,%edx 77# R_386_TLS_TPOFF32 sg3 78 106b: 90[ ]+nop * 79 106c: 90[ ]+nop * 80 106d: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 81 1073: 90[ ]+nop * 82 1074: 90[ ]+nop * 83 1075: 29 d0[ ]+sub %edx,%eax 84 1077: 90[ ]+nop * 85 1078: 90[ ]+nop * 86 1079: 90[ ]+nop * 87 107a: 90[ ]+nop * 88# LE @tpoff, local var 89 107b: b8 f7 ff ff ff[ ]+mov \$0xfffffff7,%eax 90# R_386_TLS_TPOFF32 91 1080: 90[ ]+nop * 92 1081: 90[ ]+nop * 93 1082: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx 94 1089: 90[ ]+nop * 95 108a: 90[ ]+nop * 96 108b: 29 c2[ ]+sub %eax,%edx 97 108d: 90[ ]+nop * 98 108e: 90[ ]+nop * 99 108f: 90[ ]+nop * 100 1090: 90[ ]+nop * 101# LE @ntpoff, global var 102 1091: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 103 1097: 90[ ]+nop * 104 1098: 90[ ]+nop * 105 1099: 8d 90 02 00 00 00[ ]+lea 0x2\(%eax\),%edx 106# R_386_TLS_TPOFF sg4 107 109f: 90[ ]+nop * 108 10a0: 90[ ]+nop * 109 10a1: 90[ ]+nop * 110 10a2: 90[ ]+nop * 111# LE @ntpoff, hidden var, non-canonical sequence 112 10a3: b8 1c 00 00 00[ ]+mov \$0x1c,%eax 113# R_386_TLS_TPOFF 114 10a8: 90[ ]+nop * 115 10a9: 90[ ]+nop * 116 10aa: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx 117 10b1: 90[ ]+nop * 118 10b2: 90[ ]+nop * 119 10b3: 01 c2[ ]+add %eax,%edx 120 10b5: 90[ ]+nop * 121 10b6: 90[ ]+nop * 122 10b7: 90[ ]+nop * 123 10b8: 90[ ]+nop * 124# LE @ntpoff, local var, non-canonical sequence 125 10b9: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx 126 10c0: 90[ ]+nop * 127 10c1: 90[ ]+nop * 128 10c2: 81 c2 0d 00 00 00[ ]+add \$0xd,%edx 129# R_386_TLS_TPOFF 130 10c8: 90[ ]+nop * 131 10c9: 90[ ]+nop * 132 10ca: 90[ ]+nop * 133 10cb: 90[ ]+nop * 134# Direct %gs access 135# LE @ntpoff, global var 136 10cc: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax 137# R_386_TLS_TPOFF sg5 138 10d2: 90[ ]+nop * 139 10d3: 90[ ]+nop * 140 10d4: 90[ ]+nop * 141 10d5: 90[ ]+nop * 142# LE @ntpoff, local var 143 10d6: 65 8b 15 13 00 00 00 mov %gs:0x13,%edx 144# R_386_TLS_TPOFF 145 10dd: 90[ ]+nop * 146 10de: 90[ ]+nop * 147 10df: 90[ ]+nop * 148 10e0: 90[ ]+nop * 149# LE @ntpoff, hidden var 150 10e1: 65 8b 15 21 00 00 00 mov %gs:0x21,%edx 151# R_386_TLS_TPOFF 152 10e8: 90[ ]+nop * 153 10e9: 90[ ]+nop * 154 10ea: 90[ ]+nop * 155 10eb: 90[ ]+nop * 156 10ec: 8b 5d fc[ ]+mov 0xfffffffc\(%ebp\),%ebx 157 10ef: c9[ ]+leave * 158 10f0: c3[ ]+ret * 159 10f1: 90[ ]+nop * 160 10f2: 90[ ]+nop * 161 10f3: 90[ ]+nop * 162