1	.text
2	.p2align 4,,15
3	.globl	get_gd
4	.type	get_gd, @function
5get_gd:
6	subq	$8, %rsp
7#ifdef __LP64__
8	.byte	0x66
9#endif
10	leaq	gd@tlsgd(%rip), %rdi
11	.byte	0x66
12	rex64
13	call	*__tls_get_addr@GOTPCREL(%rip)
14	addq	$8, %rsp
15	ret
16	.size	get_gd, .-get_gd
17	.text
18	.p2align 4,,15
19	.globl	set_gd
20	.type	set_gd, @function
21set_gd:
22	pushq	%rbx
23	movl	%edi, %ebx
24#ifdef __LP64__
25	.byte	0x66
26#endif
27	leaq	gd@tlsgd(%rip), %rdi
28	.value	0x6666
29	rex64
30	call	__tls_get_addr@PLT
31	movl	%ebx, (%rax)
32	popq	%rbx
33	ret
34	.size	set_gd, .-set_gd
35	.text
36	.p2align 4,,15
37	.globl	test_gd
38	.type	test_gd, @function
39test_gd:
40	pushq	%rbx
41	movl	%edi, %ebx
42#ifdef __LP64__
43	.byte	0x66
44#endif
45	leaq	gd@tlsgd(%rip), %rdi
46	.byte	0x66
47	rex64
48	call	*__tls_get_addr@GOTPCREL(%rip)
49	cmpl	%ebx, (%rax)
50	popq	%rbx
51	sete	%al
52	movzbl	%al, %eax
53	ret
54	.size	test_gd, .-test_gd
55	.section	.note.GNU-stack,"",@progbits
56