| #source: tlsnopic1.s |
| #source: tlsnopic2.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]+ <fn3>: |
| +[0-9a-f]+: 55[ ]+push %ebp |
| +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp |
| # @indntpoff IE against global var |
| +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+(c|8),%eax |
| # ->R_386_TLS_TPOFF sg1 |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # @indntpoff direct %gs access IE against global var |
| +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+(0|c),%edx |
| # ->R_386_TLS_TPOFF sg2 |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # @indntpoff IE against hidden var |
| +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+(4|0),%eax |
| # ->R_386_TLS_TPOFF [0x14000000] |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # @indntpoff direct %gs access IE against hidden var |
| +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+(8|4),%edx |
| # ->R_386_TLS_TPOFF [0x18000000] |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # @indntpoff IE against local var |
| +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+(4|0),%eax |
| # ->R_386_TLS_TPOFF [0x00000000] |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # @indntpoff direct %gs access IE against local var |
| +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+(8|4),%edx |
| # ->R_386_TLS_TPOFF [0x04000000] |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # LE @tpoff, global var |
| +[0-9a-f]+: ba fd ff ff ff[ ]+mov \$0xfffffffd,%edx |
| # R_386_TLS_TPOFF32 sg3 |
| +[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]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 29 d0[ ]+sub %edx,%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # LE @tpoff, local var |
| +[0-9a-f]+: b8 f7 ff ff ff[ ]+mov \$0xfffffff7,%eax |
| # R_386_TLS_TPOFF32 |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 29 c2[ ]+sub %eax,%edx |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # LE @ntpoff, global var |
| +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 8d 90 02 00 00 00[ ]+lea 0x2\(%eax\),%edx |
| # 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 * |
| # LE @ntpoff, hidden var, non-canonical sequence |
| +[0-9a-f]+: b8 1c 00 00 00[ ]+mov \$0x1c,%eax |
| # R_386_TLS_TPOFF |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 01 c2[ ]+add %eax,%edx |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # LE @ntpoff, local var, non-canonical sequence |
| +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 81 c2 0d 00 00 00[ ]+add \$0xd,%edx |
| # R_386_TLS_TPOFF |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # Direct %gs access |
| # LE @ntpoff, global var |
| +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%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 * |
| # LE @ntpoff, local var |
| +[0-9a-f]+: 65 8b 15 13 00 00 00 mov %gs:0x13,%edx |
| # R_386_TLS_TPOFF |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| +[0-9a-f]+: 90[ ]+nop * |
| # LE @ntpoff, hidden var |
| +[0-9a-f]+: 65 8b 15 21 00 00 00 mov %gs:0x21,%edx |
| # R_386_TLS_TPOFF |
| +[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 * |