* contrib: Remove directory.
[binutils.git] / ld / testsuite / ld-x86-64 / tlsbin.s
blobeb9bfbc88bb2d645666f36a30fb744bd1d4fec3d
1 .section ".tbss", "awT", @nobits
2 .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
3 bg1: .space 4
4 bg2: .space 4
5 bg3: .space 4
6 bg4: .space 4
7 bg5: .space 4
8 bg6: .space 4
9 bg7: .space 4
10 bg8: .space 4
11 bl1: .space 4
12 bl2: .space 4
13 bl3: .space 4
14 bl4: .space 4
15 bl5: .space 4
16 bl6: .space 4
17 bl7: .space 4
18 bl8: .space 4
19 .text
20 .globl _start
21 .type _start,@function
22 _start:
23 pushq %rbp
24 movq %rsp, %rbp
26 /* IE against global var */
27 movq %fs:0, %r11
28 nop;nop
29 addq sG6@gottpoff(%rip), %r11
30 nop;nop;nop;nop
32 /* IE -> LE against global var defined in exec */
33 movq %fs:0, %rdx
34 nop;nop
35 addq bg6@gottpoff(%rip), %rdx
36 nop;nop;nop;nop
38 /* IE -> LE against local var */
39 movq %fs:0, %r12
40 nop;nop
41 addq bl6@gottpoff(%rip), %r12
42 nop;nop;nop;nop
44 /* direct %fs access IE -> LE against local var */
45 movq bl8@gottpoff(%rip), %rdx
46 nop;nop
47 movq %fs:(%rdx), %rax
48 nop;nop;nop;nop
50 /* IE -> LE against hidden but not local var */
51 movq %fs:0, %rdx
52 nop;nop
53 addq sh6@gottpoff(%rip), %rdx
54 nop;nop;nop;nop
56 /* direct %fs access IE -> LE against hidden but not local var */
57 movq sh8@gottpoff(%rip), %rdx
58 nop;nop
59 movq %fs:(%rdx), %rax
60 nop;nop;nop;nop
62 /* LE, global var defined in exec */
63 movq %fs:0, %rax
64 nop;nop
65 leaq sg2@tpoff(%rax), %rdx
66 nop;nop;nop;nop
68 /* LE, local var, non-canonical sequence */
69 movq $2+bl2@tpoff, %r9
70 nop;nop
71 movq %fs:0, %rdx
72 nop;nop
73 addq %r9, %rdx
74 nop;nop;nop;nop
76 /* LE, hidden var defined in exec, non-canonical sequence */
77 movq %fs:0, %rdx
78 nop;nop
79 addq $sh2@tpoff+1, %rdx
80 nop;nop;nop;nop
82 /* Direct %fs access */
84 /* LE, global var defined in exec */
85 movq %fs:sg3@tpoff, %rax
86 nop;nop;nop;nop
88 /* LE, local var */
89 movq %fs:bl3@tpoff+3, %r10
90 nop;nop;nop;nop
92 /* LE, hidden var defined in exec */
93 movq %fs:1+sh3@tpoff, %rdx
94 nop;nop;nop;nop
96 leave
97 ret