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