| 1 | #source: tlspic1.s |
| 2 | #source: tlspic2.s |
| 3 | #as: --64 |
| 4 | #ld: -shared -melf_x86_64 |
| 5 | #objdump: -drj.text |
| 6 | #target: x86_64-*-* |
| 7 | |
| 8 | .*: +file format elf64-x86-64 |
| 9 | |
| 10 | Disassembly of section .text: |
| 11 | |
| 12 | 0+1000 <fn1>: |
| 13 | +1000: 55[ ]+push %rbp |
| 14 | +1001: 48 89 e5[ ]+mov %rsp,%rbp |
| 15 | +1004: 90[ ]+nop * |
| 16 | +1005: 90[ ]+nop * |
| 17 | +1006: 90[ ]+nop * |
| 18 | +1007: 90[ ]+nop * |
| 19 | # GD |
| 20 | +1008: 66 48 8d 3d 80 03 10[ ]+lea 1049472\(%rip\),%rdi +# 101390 <.*> |
| 21 | +100f: 00 * |
| 22 | # -> R_X86_64_DTPMOD64 sg1 |
| 23 | +1010: 66[ ]+data16 |
| 24 | +1011: 66[ ]+data16 |
| 25 | +1012: 48 e8 88 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> |
| 26 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
| 27 | +1018: 90[ ]+nop * |
| 28 | +1019: 90[ ]+nop * |
| 29 | +101a: 90[ ]+nop * |
| 30 | +101b: 90[ ]+nop * |
| 31 | # GD -> IE because variable is referenced through IE too |
| 32 | +101c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
| 33 | +1023: 00 00 * |
| 34 | +1025: 48 03 05 84 03 10 00[ ]+add 1049476\(%rip\),%rax +# 1013b0 <.*> |
| 35 | # -> R_X86_64_TPOFF64 sg2 |
| 36 | +102c: 90[ ]+nop * |
| 37 | +102d: 90[ ]+nop * |
| 38 | +102e: 90[ ]+nop * |
| 39 | +102f: 90[ ]+nop * |
| 40 | # GD against local variable |
| 41 | +1030: 66 48 8d 3d 08 03 10[ ]+lea 1049352\(%rip\),%rdi +# 101340 <.*> |
| 42 | +1037: 00 * |
| 43 | # -> R_X86_64_DTPMOD64 [0 0x2000000000000000] |
| 44 | +1038: 66[ ]+data16 |
| 45 | +1039: 66[ ]+data16 |
| 46 | +103a: 48 e8 60 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> |
| 47 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
| 48 | +1040: 90[ ]+nop * |
| 49 | +1041: 90[ ]+nop * |
| 50 | +1042: 90[ ]+nop * |
| 51 | +1043: 90[ ]+nop * |
| 52 | # GD -> IE against local variable referenced through IE too |
| 53 | +1044: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
| 54 | +104b: 00 00 * |
| 55 | +104d: 48 03 05 fc 02 10 00[ ]+add 1049340\(%rip\),%rax +# 101350 <.*> |
| 56 | # -> R_X86_64_TPOFF64 *ABS*+0x24 |
| 57 | +1054: 90[ ]+nop * |
| 58 | +1055: 90[ ]+nop * |
| 59 | +1056: 90[ ]+nop * |
| 60 | +1057: 90[ ]+nop * |
| 61 | # GD against hidden and local variable |
| 62 | +1058: 66 48 8d 3d 58 03 10[ ]+lea 1049432\(%rip\),%rdi +# 1013b8 <.*> |
| 63 | +105f: 00 * |
| 64 | # -> R_X86_64_DTPMOD64 [0 0x4000000000000000] |
| 65 | +1060: 66[ ]+data16 |
| 66 | +1061: 66[ ]+data16 |
| 67 | +1062: 48 e8 38 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> |
| 68 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
| 69 | +1068: 90[ ]+nop * |
| 70 | +1069: 90[ ]+nop * |
| 71 | +106a: 90[ ]+nop * |
| 72 | +106b: 90[ ]+nop * |
| 73 | # GD -> IE against hidden and local variable referenced through IE too |
| 74 | +106c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
| 75 | +1073: 00 00 * |
| 76 | +1075: 48 03 05 4c 03 10 00[ ]+add 1049420\(%rip\),%rax +# 1013c8 <.*> |
| 77 | # -> R_X86_64_TPOFF64 *ABS*+0x44 |
| 78 | +107c: 90[ ]+nop * |
| 79 | +107d: 90[ ]+nop * |
| 80 | +107e: 90[ ]+nop * |
| 81 | +107f: 90[ ]+nop * |
| 82 | # GD against hidden but not local variable |
| 83 | +1080: 66 48 8d 3d e8 02 10[ ]+lea 1049320\(%rip\),%rdi +# 101370 <.*> |
| 84 | +1087: 00 * |
| 85 | # -> R_X86_64_DTPMOD64 [0 0x6000000000000000] |
| 86 | +1088: 66[ ]+data16 |
| 87 | +1089: 66[ ]+data16 |
| 88 | +108a: 48 e8 10 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> |
| 89 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
| 90 | +1090: 90[ ]+nop * |
| 91 | +1091: 90[ ]+nop * |
| 92 | +1092: 90[ ]+nop * |
| 93 | +1093: 90[ ]+nop * |
| 94 | # GD -> IE against hidden but not local variable referenced through IE too |
| 95 | +1094: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
| 96 | +109b: 00 00 * |
| 97 | +109d: 48 03 05 dc 02 10 00[ ]+add 1049308\(%rip\),%rax +# 101380 <.*> |
| 98 | # -> R_X86_64_TPOFF64 *ABS*+0x64 |
| 99 | +10a4: 90[ ]+nop * |
| 100 | +10a5: 90[ ]+nop * |
| 101 | +10a6: 90[ ]+nop * |
| 102 | +10a7: 90[ ]+nop * |
| 103 | # LD |
| 104 | +10a8: 48 8d 3d b1 02 10 00[ ]+lea 1049265\(%rip\),%rdi +# 101360 <.*> |
| 105 | # -> R_X86_64_DTPMOD64 [0 0x000000000000000] |
| 106 | +10af: e8 ec f4 ff ff[ ]+callq [0-9a-f]+ <.*> |
| 107 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
| 108 | +10b4: 90[ ]+nop * |
| 109 | +10b5: 90[ ]+nop * |
| 110 | +10b6: 48 8d 90 20 00 00 00[ ]+lea 0x20\(%rax\),%rdx |
| 111 | +10bd: 90[ ]+nop * |
| 112 | +10be: 90[ ]+nop * |
| 113 | +10bf: 4c 8d 88 26 00 00 00[ ]+lea 0x26\(%rax\),%r9 |
| 114 | +10c6: 90[ ]+nop * |
| 115 | +10c7: 90[ ]+nop * |
| 116 | +10c8: 90[ ]+nop * |
| 117 | +10c9: 90[ ]+nop * |
| 118 | # LD against hidden and local variables |
| 119 | +10ca: 48 8d 3d 8f 02 10 00[ ]+lea 1049231\(%rip\),%rdi +# 101360 <.*> |
| 120 | # -> R_X86_64_DTPMOD64 [0 0x000000000000000] |
| 121 | +10d1: e8 ca f4 ff ff[ ]+callq [0-9a-f]+ <.*> |
| 122 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
| 123 | +10d6: 90[ ]+nop * |
| 124 | +10d7: 90[ ]+nop * |
| 125 | +10d8: 48 8d 90 40 00 00 00[ ]+lea 0x40\(%rax\),%rdx |
| 126 | +10df: 90[ ]+nop * |
| 127 | +10e0: 90[ ]+nop * |
| 128 | +10e1: 48 8d 88 47 00 00 00[ ]+lea 0x47\(%rax\),%rcx |
| 129 | +10e8: 90[ ]+nop * |
| 130 | +10e9: 90[ ]+nop * |
| 131 | +10ea: 90[ ]+nop * |
| 132 | +10eb: 90[ ]+nop * |
| 133 | # LD against hidden but not local variables |
| 134 | +10ec: 48 8d 3d 6d 02 10 00[ ]+lea 1049197\(%rip\),%rdi +# 101360 <.*> |
| 135 | # -> R_X86_64_DTPMOD64 [0 0x000000000000000] |
| 136 | +10f3: e8 a8 f4 ff ff[ ]+callq [0-9a-f]+ <.*> |
| 137 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
| 138 | +10f8: 90[ ]+nop * |
| 139 | +10f9: 90[ ]+nop * |
| 140 | +10fa: 4c 8d a0 60 00 00 00[ ]+lea 0x60\(%rax\),%r12 |
| 141 | +1101: 90[ ]+nop * |
| 142 | +1102: 90[ ]+nop * |
| 143 | +1103: 48 8d 88 65 00 00 00[ ]+lea 0x65\(%rax\),%rcx |
| 144 | +110a: 90[ ]+nop * |
| 145 | +110b: 90[ ]+nop * |
| 146 | # IE against global var |
| 147 | +110c: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx |
| 148 | +1113: 00 00 * |
| 149 | +1115: 90[ ]+nop * |
| 150 | +1116: 90[ ]+nop * |
| 151 | +1117: 48 03 0d 92 02 10 00[ ]+add 1049234\(%rip\),%rcx +# 1013b0 <.*> |
| 152 | # -> R_X86_64_TPOFF64 sg2 |
| 153 | +111e: 90[ ]+nop * |
| 154 | +111f: 90[ ]+nop * |
| 155 | +1120: 90[ ]+nop * |
| 156 | +1121: 90[ ]+nop * |
| 157 | # IE against local var |
| 158 | +1122: 64 4c 8b 34 25 00 00[ ]+mov %fs:0x0,%r14 |
| 159 | +1129: 00 00 * |
| 160 | +112b: 90[ ]+nop * |
| 161 | +112c: 90[ ]+nop * |
| 162 | +112d: 4c 03 35 1c 02 10 00[ ]+add 1049116\(%rip\),%r14 +# 101350 <.*> |
| 163 | # -> R_X86_64_TPOFF64 *ABS*+0x24 |
| 164 | +1134: 90[ ]+nop * |
| 165 | +1135: 90[ ]+nop * |
| 166 | +1136: 90[ ]+nop * |
| 167 | +1137: 90[ ]+nop * |
| 168 | # IE against hidden and local var |
| 169 | +1138: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx |
| 170 | +113f: 00 00 * |
| 171 | +1141: 90[ ]+nop * |
| 172 | +1142: 90[ ]+nop * |
| 173 | +1143: 48 03 0d 7e 02 10 00[ ]+add 1049214\(%rip\),%rcx +# 1013c8 <.*> |
| 174 | # -> R_X86_64_TPOFF64 *ABS*+0x44 |
| 175 | +114a: 90[ ]+nop * |
| 176 | +114b: 90[ ]+nop * |
| 177 | +114c: 90[ ]+nop * |
| 178 | +114d: 90[ ]+nop * |
| 179 | # IE against hidden but not local var |
| 180 | +114e: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx |
| 181 | +1155: 00 00 * |
| 182 | +1157: 90[ ]+nop * |
| 183 | +1158: 90[ ]+nop * |
| 184 | +1159: 48 03 0d 20 02 10 00[ ]+add 1049120\(%rip\),%rcx +# 101380 <.*> |
| 185 | # -> R_X86_64_TPOFF64 *ABS*+0x64 |
| 186 | +1160: 90[ ]+nop * |
| 187 | +1161: 90[ ]+nop * |
| 188 | +1162: 90[ ]+nop * |
| 189 | +1163: 90[ ]+nop * |
| 190 | # Direct access through %fs |
| 191 | # IE against global var |
| 192 | +1164: 48 8b 0d 1d 02 10 00[ ]+mov 1049117\(%rip\),%rcx +# 101388 <.*> |
| 193 | # -> R_X86_64_TPOFF64 sg5 |
| 194 | +116b: 90[ ]+nop * |
| 195 | +116c: 90[ ]+nop * |
| 196 | +116d: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx |
| 197 | +1171: 90[ ]+nop * |
| 198 | +1172: 90[ ]+nop * |
| 199 | +1173: 90[ ]+nop * |
| 200 | +1174: 90[ ]+nop * |
| 201 | # IE against local var |
| 202 | +1175: 4c 8b 15 dc 01 10 00[ ]+mov 1049052\(%rip\),%r10 +# 101358 <.*> |
| 203 | # -> R_X86_64_TPOFF64 *ABS*+0x30 |
| 204 | +117c: 90[ ]+nop * |
| 205 | +117d: 90[ ]+nop * |
| 206 | +117e: 64 4d 8b 22[ ]+mov %fs:\(%r10\),%r12 |
| 207 | +1182: 90[ ]+nop * |
| 208 | +1183: 90[ ]+nop * |
| 209 | +1184: 90[ ]+nop * |
| 210 | +1185: 90[ ]+nop * |
| 211 | # IE against hidden and local var |
| 212 | +1186: 48 8b 15 13 02 10 00[ ]+mov 1049107\(%rip\),%rdx +# 1013a0 <.*> |
| 213 | # -> R_X86_64_TPOFF64 *ABS*+0x50 |
| 214 | +118d: 90[ ]+nop * |
| 215 | +118e: 90[ ]+nop * |
| 216 | +118f: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx |
| 217 | +1193: 90[ ]+nop * |
| 218 | +1194: 90[ ]+nop * |
| 219 | +1195: 90[ ]+nop * |
| 220 | +1196: 90[ ]+nop * |
| 221 | # IE against hidden but not local var |
| 222 | +1197: 48 8b 0d 0a 02 10 00[ ]+mov 1049098\(%rip\),%rcx +# 1013a8 <.*> |
| 223 | # -> R_X86_64_TPOFF64 *ABS*+0x70 |
| 224 | +119e: 90[ ]+nop * |
| 225 | +119f: 90[ ]+nop * |
| 226 | +11a0: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx |
| 227 | +11a4: 90[ ]+nop * |
| 228 | +11a5: 90[ ]+nop * |
| 229 | +11a6: 90[ ]+nop * |
| 230 | +11a7: 90[ ]+nop * |
| 231 | +11a8: c9[ ]+leaveq * |
| 232 | +11a9: c3[ ]+retq * |
| 233 | +11aa: 90[ ]+nop * |
| 234 | +11ab: 90[ ]+nop * |