clarify the purpose of this project
[nyanglibc.git] / libio / getwchar.shared.s
blob4dd8209386e67737664cdad14df798f6d12a5897
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl getwchar
9 .type getwchar, @function
10 getwchar:
11 .LFB71:
12 pushq %r12
13 pushq %rbp
14 movq stdin@GOTPCREL(%rip), %rbp
15 pushq %rbx
16 movq 0(%rbp), %rbx
17 movl (%rbx), %edx
18 andl $32768, %edx
19 jne .L18
20 movq 136(%rbx), %rcx
21 movq %fs:16, %r12
22 cmpq %r12, 8(%rcx)
23 je .L19
24 #APP
25 # 36 "getwchar.c" 1
26 movl %fs:24,%eax
27 # 0 "" 2
28 #NO_APP
29 testl %eax, %eax
30 jne .L4
31 movl $1, %edx
32 #APP
33 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
34 cmpxchgl %edx, (%rcx)
35 # 0 "" 2
36 #NO_APP
37 .L5:
38 movq 136(%rbx), %rcx
39 movq 0(%rbp), %rdi
40 movq %r12, 8(%rcx)
41 .L3:
42 movq 160(%rdi), %rax
43 addl $1, 4(%rcx)
44 testq %rax, %rax
45 jne .L26
46 .L8:
47 .LEHB0:
48 call __GI___wuflow
49 testl $32768, (%rbx)
50 movl %eax, %r8d
51 je .L27
52 .L1:
53 popq %rbx
54 movl %r8d, %eax
55 popq %rbp
56 popq %r12
57 ret
58 .p2align 4,,10
59 .p2align 3
60 .L18:
61 movq %rbx, %rdi
62 movq 160(%rdi), %rax
63 testq %rax, %rax
64 je .L8
65 .L26:
66 movq (%rax), %rdx
67 cmpq 8(%rax), %rdx
68 jnb .L8
69 testl $32768, (%rbx)
70 leaq 4(%rdx), %rcx
71 movl (%rdx), %r8d
72 movq %rcx, (%rax)
73 jne .L1
74 .L27:
75 movq 136(%rbx), %rdi
76 movl 4(%rdi), %eax
77 subl $1, %eax
78 testl %eax, %eax
79 movl %eax, 4(%rdi)
80 jne .L1
81 movq $0, 8(%rdi)
82 #APP
83 # 885 "libioP.h" 1
84 movl %fs:24,%edx
85 # 0 "" 2
86 #NO_APP
87 testl %edx, %edx
88 jne .L14
89 subl $1, (%rdi)
90 movl %r8d, %eax
91 popq %rbx
92 popq %rbp
93 popq %r12
94 ret
95 .p2align 4,,10
96 .p2align 3
97 .L19:
98 movq %rbx, %rdi
99 jmp .L3
100 .p2align 4,,10
101 .p2align 3
102 .L4:
103 movl $1, %esi
104 movl %edx, %eax
105 lock cmpxchgl %esi, (%rcx)
106 je .L5
107 movq %rcx, %rdi
108 call __lll_lock_wait_private
109 .LEHE0:
110 jmp .L5
111 .p2align 4,,10
112 .p2align 3
113 .L14:
114 #APP
115 # 885 "libioP.h" 1
116 xchgl %eax, (%rdi)
117 # 0 "" 2
118 #NO_APP
119 cmpl $1, %eax
120 jle .L1
121 xorl %r10d, %r10d
122 movl $1, %edx
123 movl $129, %esi
124 movl $202, %eax
125 #APP
126 # 885 "libioP.h" 1
127 syscall
129 # 0 "" 2
130 #NO_APP
131 jmp .L1
132 .L20:
133 testl $32768, (%rbx)
134 movq %rax, %r8
135 jne .L16
136 movq 136(%rbx), %rdi
137 movl 4(%rdi), %eax
138 subl $1, %eax
139 testl %eax, %eax
140 movl %eax, 4(%rdi)
141 jne .L16
142 movq $0, 8(%rdi)
143 #APP
144 # 885 "libioP.h" 1
145 movl %fs:24,%edx
146 # 0 "" 2
147 #NO_APP
148 testl %edx, %edx
149 jne .L17
150 subl $1, (%rdi)
151 .L16:
152 movq %r8, %rdi
153 .LEHB1:
154 call _Unwind_Resume@PLT
155 .LEHE1:
156 .L17:
157 #APP
158 # 885 "libioP.h" 1
159 xchgl %eax, (%rdi)
160 # 0 "" 2
161 #NO_APP
162 subl $1, %eax
163 jle .L16
164 xorl %r10d, %r10d
165 movl $1, %edx
166 movl $129, %esi
167 movl $202, %eax
168 #APP
169 # 885 "libioP.h" 1
170 syscall
172 # 0 "" 2
173 #NO_APP
174 jmp .L16
175 .LFE71:
176 .globl __gcc_personality_v0
177 .section .gcc_except_table,"a",@progbits
178 .LLSDA71:
179 .byte 0xff
180 .byte 0xff
181 .byte 0x1
182 .uleb128 .LLSDACSE71-.LLSDACSB71
183 .LLSDACSB71:
184 .uleb128 .LEHB0-.LFB71
185 .uleb128 .LEHE0-.LEHB0
186 .uleb128 .L20-.LFB71
187 .uleb128 0
188 .uleb128 .LEHB1-.LFB71
189 .uleb128 .LEHE1-.LEHB1
190 .uleb128 0
191 .uleb128 0
192 .LLSDACSE71:
193 .text
194 .size getwchar, .-getwchar
195 .hidden DW.ref.__gcc_personality_v0
196 .weak DW.ref.__gcc_personality_v0
197 .section .data.DW.ref.__gcc_personality_v0,"awG",@progbits,DW.ref.__gcc_personality_v0,comdat
198 .align 8
199 .type DW.ref.__gcc_personality_v0, @object
200 .size DW.ref.__gcc_personality_v0, 8
201 DW.ref.__gcc_personality_v0:
202 .quad __gcc_personality_v0
203 .hidden __lll_lock_wait_private