1	.text
2	.globl	fc1
3	.type	fc1,@function
4fc1:
5	pushq	%rbp
6	movq	%rsp, %rbp
7	nop;nop;nop;nop
8
9	/* IE against global var.  */
10	movq	%fs:0, %rcx
11	nop;nop
12	addq	sG3@gottpoff(%rip), %rcx
13	nop;nop;nop;nop
14
15	/* IE against global var.  */
16	movq	%fs:0, %rcx
17	nop;nop
18	addq	sG4@gottpoff(%rip), %rcx
19	nop;nop;nop;nop
20
21	/* GD, gd first.  */
22	.byte	0x66
23	leaq	sG1@tlsgd(%rip), %rdi
24	.word	0x6666
25	rex64
26	call	__tls_get_addr@plt
27	nop;nop;nop;nop
28
29	leaq	sG1@tlsdesc(%rip), %rax
30	call	*sG1@tlscall(%rax)
31	nop;nop;nop;nop
32
33	/* GD, desc first.  */
34	leaq	sG2@tlsdesc(%rip), %rax
35	call	*sG2@tlscall(%rax)
36	nop;nop;nop;nop
37
38	.byte	0x66
39	leaq	sG2@tlsgd(%rip), %rdi
40	.word	0x6666
41	rex64
42	call	__tls_get_addr@plt
43	nop;nop;nop;nop
44
45	/* GD -> IE, gd first, after IE use.  */
46	.byte	0x66
47	leaq	sG3@tlsgd(%rip), %rdi
48	.word	0x6666
49	rex64
50	call	__tls_get_addr@plt
51	nop;nop;nop;nop
52
53	leaq	sG3@tlsdesc(%rip), %rax
54	call	*sG3@tlscall(%rax)
55	nop;nop;nop;nop
56
57	/* GD -> IE, desc first, after IE use.  */
58	leaq	sG4@tlsdesc(%rip), %rax
59	call	*sG4@tlscall(%rax)
60	nop;nop;nop;nop
61
62	.byte	0x66
63	leaq	sG4@tlsgd(%rip), %rdi
64	.word	0x6666
65	rex64
66	call	__tls_get_addr@plt
67	nop;nop;nop;nop
68
69	/* GD -> IE, gd first, before IE use.  */
70	.byte	0x66
71	leaq	sG5@tlsgd(%rip), %rdi
72	.word	0x6666
73	rex64
74	call	__tls_get_addr@plt
75	nop;nop;nop;nop
76
77	leaq	sG5@tlsdesc(%rip), %rax
78	call	*sG5@tlscall(%rax)
79	nop;nop;nop;nop
80
81	/* GD -> IE, desc first, before IE use.  */
82	leaq	sG6@tlsdesc(%rip), %rax
83	call	*sG6@tlscall(%rax)
84	nop;nop;nop;nop
85
86	.byte	0x66
87	leaq	sG6@tlsgd(%rip), %rdi
88	.word	0x6666
89	rex64
90	call	__tls_get_addr@plt
91	nop;nop;nop;nop
92
93	/* IE against global var.  */
94	movq	%fs:0, %rcx
95	nop;nop
96	addq	sG5@gottpoff(%rip), %rcx
97	nop;nop;nop;nop
98
99	/* IE against global var.  */
100	movq	%fs:0, %rcx
101	nop;nop
102	addq	sG6@gottpoff(%rip), %rcx
103	nop;nop;nop;nop
104
105	leave
106	ret
107