1	.file	1 "tlsbin-o32.s"
2	.abicalls
3	.text
4	.align	2
5	.globl	__start
6	.ent	__start
7	.type	__start,@function
8__start:
9	.frame	$fp,16,$31
10	.mask	0x40000000,-8
11	.fmask	0x00000000,0
12	.set	noreorder
13	.cpload $25
14	.set	reorder
15	addiu	$sp,$sp,-16
16	sw	$fp,8($sp)
17	move	$fp,$sp
18	.cprestore	0
19
20	# General Dynamic
21	lw	$25,%call16(__tls_get_addr)($28)
22	addiu	$4,$28,%tlsgd(tlsvar_gd)
23	jal	$25
24
25	# Local Dynamic
26	lw	$25,%call16(__tls_get_addr)($28)
27	addiu	$4,$28,%tlsldm(tlsvar_ld)
28	jal	$25
29
30	move	$2,$2		# Arbitrary instructions
31
32	lui	$3,%dtprel_hi(tlsvar_ld)
33	addiu	$3,$3,%dtprel_lo(tlsvar_ld)
34	addu	$3,$3,$2
35
36	# Initial Exec
37	.set	push
38	.set	mips32r2
39	rdhwr	$2, $5
40	.set	pop
41	lw	$3,%gottprel(tlsvar_ie)($28)
42	addu	$3,$3,$2
43
44	# Local Exec
45	.set	push
46	.set	mips32r2
47	rdhwr	$2, $5
48	.set	pop
49	lui	$3,%tprel_hi(tlsvar_le)
50	addiu	$3,$3,%tprel_lo(tlsvar_le)
51	addu	$3,$3,$2
52
53	move	$sp,$fp
54	lw	$fp,8($sp)
55	addiu	$sp,$sp,16
56	j	$31
57	.end	__start
58
59	.globl __tls_get_addr
60__tls_get_addr:
61	j $31
62
63	.section		.tbss,"awT",@nobits
64	.align	2
65	.global	tlsvar_gd
66	.type	tlsvar_gd,@object
67	.size	tlsvar_gd,4
68tlsvar_gd:
69	.space	4
70	.global	tlsvar_ie
71	.type	tlsvar_ie,@object
72	.size	tlsvar_ie,4
73tlsvar_ie:
74	.space	4
75
76	.section		.tdata,"awT"
77	.align	2
78	.global	tlsvar_ld
79	.hidden	tlsvar_ld
80	.type	tlsvar_ld,@object
81	.size	tlsvar_ld,4
82tlsvar_ld:
83	.word	1
84	.global	tlsvar_le
85	.hidden	tlsvar_le
86	.type	tlsvar_le,@object
87	.size	tlsvar_le,4
88tlsvar_le:
89	.word	1
90