1 .text
2 .global __set_thread_area
3 .hidden __set_thread_area
4 .type   __set_thread_area,@function
5 __set_thread_area:
6 	push %ebx
7 	push $0x51
8 	push $0xfffff
9 	push 16(%esp)
10 	call 1f
11 1:	addl $4f-1b,(%esp)
12 	pop %ecx
13 	mov (%ecx),%edx
14 	push %edx
15 	mov %esp,%ebx
16 	xor %eax,%eax
17 	mov $243,%al
18 	int $128
19 	testl %eax,%eax
20 	jnz 2f
21 	movl (%esp),%edx
22 	movl %edx,(%ecx)
23 	leal 3(,%edx,8),%edx
24 3:	movw %dx,%gs
25 1:
26 	addl $16,%esp
27 	popl %ebx
28 	ret
29 2:
30 	mov %ebx,%ecx
31 	xor %eax,%eax
32 	xor %ebx,%ebx
33 	xor %edx,%edx
34 	mov %ebx,(%esp)
35 	mov $1,%bl
36 	mov $16,%dl
37 	mov $123,%al
38 	int $128
39 	testl %eax,%eax
40 	jnz 1b
41 	mov $7,%dl
42 	inc %al
43 	jmp 3b
44 
45 .data
46 	.align 4
47 4:	.long -1
48