1 .section ".data.rel.ro", "aw", @progbits 2 /* Align, so that .got is likely at address 0x2080. */ 3 .balign 4096 4 .section ".tbss", "awT", @nobits 5 bl1: .space 4 6 bl2: .space 4 7 bl3: .space 4 8 bl4: .space 4 9 bl5: .space 4 10 .text 11 /* Align, so that fn3 is likely at address 0x1000. */ 12 .balign 4096 13 .globl fn3 14 .type fn3,@function 15 fn3: 16 pushl %ebp 17 movl %esp, %ebp 18 19 /* @indntpoff IE against global var */ 20 movl %gs:0, %eax 21 nop;nop 22 addl sg1@indntpoff, %eax 23 nop;nop;nop;nop 24 25 /* @indntpoff direct %gs access IE against global var */ 26 movl sg2@indntpoff, %edx 27 nop;nop 28 movl %gs:(%edx), %eax 29 nop;nop;nop;nop 30 31 /* @indntpoff IE against hidden var */ 32 movl %gs:0, %eax 33 nop;nop 34 addl sh1@indntpoff, %eax 35 nop;nop;nop;nop 36 37 /* @indntpoff direct %gs access IE against hidden var */ 38 movl sh2@indntpoff, %edx 39 nop;nop 40 movl %gs:(%edx), %eax 41 nop;nop;nop;nop 42 43 /* @indntpoff IE against local var */ 44 movl %gs:0, %eax 45 nop;nop 46 addl bl1@indntpoff, %eax 47 nop;nop;nop;nop 48 49 /* @indntpoff direct %gs access IE against local var */ 50 movl bl2@indntpoff, %edx 51 nop;nop 52 movl %gs:(%edx), %eax 53 nop;nop;nop;nop 54 55 /* LE @tpoff, global var */ 56 movl $-3+sg3@tpoff, %edx 57 nop;nop 58 movl %gs:0, %eax 59 nop;nop 60 subl %edx, %eax 61 nop;nop;nop;nop 62 63 /* LE @tpoff, local var */ 64 movl $-1+bl3@tpoff, %eax 65 nop;nop 66 movl %gs:0, %edx 67 nop;nop 68 subl %eax, %edx 69 nop;nop;nop;nop 70 71 /* LE @ntpoff, global var */ 72 movl %gs:0, %eax 73 nop;nop 74 leal 2+sg4@ntpoff(%eax), %edx 75 nop;nop;nop;nop 76 77 /* LE @ntpoff, hidden var, non-canonical sequence */ 78 movl $sh3@ntpoff, %eax 79 nop;nop 80 movl %gs:0, %edx 81 nop;nop 82 addl %eax, %edx 83 nop;nop;nop;nop 84 85 /* LE @ntpoff, local var, non-canonical sequence */ 86 movl %gs:0, %edx 87 nop;nop 88 addl $bl4@ntpoff+1, %edx 89 nop;nop;nop;nop 90 91 /* Direct %gs access */ 92 93 /* LE @ntpoff, global var */ 94 movl %gs:sg5@ntpoff, %eax 95 nop;nop;nop;nop 96 97 /* LE @ntpoff, local var */ 98 movl %gs:bl5@ntpoff+3, %edx 99 nop;nop;nop;nop 100 101 /* LE @ntpoff, hidden var */ 102 movl %gs:1+sh4@ntpoff, %edx 103 nop;nop;nop;nop 104 105 movl -4(%ebp), %ebx 106 leave 107 ret 108