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