clarify the purpose of this project
[nyanglibc.git] / dirent / scandir64-tail.shared.s
blob7d9b138cdad49c3550a2c00937dd6eb9b6af7313
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 __scandir64_tail
9 .hidden __scandir64_tail
10 .type __scandir64_tail, @function
11 __scandir64_tail:
12 .LFB47:
13 testq %rdi, %rdi
14 je .L36
15 pushq %r15
16 pushq %r14
17 movq %rdi, %r15
18 pushq %r13
19 pushq %r12
20 movq %rdx, %r12
21 pushq %rbp
22 pushq %rbx
23 pxor %xmm0, %xmm0
24 subq $88, %rsp
25 movq __libc_errno@gottpoff(%rip), %r14
26 leaq 48(%rsp), %r13
27 movq %rcx, 32(%rsp)
28 movq %rsi, 24(%rsp)
29 movups %xmm0, 56(%rsp)
30 movl %fs:(%r14), %eax
31 movq %rdi, 48(%rsp)
32 movl %eax, 44(%rsp)
33 movl $0, %fs:(%r14)
34 movq $0, 16(%rsp)
35 movq $0, 8(%rsp)
36 .L4:
37 movq %r15, %rdi
38 movq %r13, %rbp
39 .LEHB0:
40 call __GI___readdir64
41 testq %rax, %rax
42 movq %rax, %rbx
43 je .L11
44 .L12:
45 testq %r12, %r12
46 je .L9
47 movq %r13, %rbp
48 movq %rbx, %rdi
49 call *%r12
50 testl %eax, %eax
51 movl $0, %fs:(%r14)
52 je .L4
53 .L9:
54 movq 64(%rsp), %rbp
55 cmpq 16(%rsp), %rbp
56 je .L37
57 .L7:
58 movzwl 16(%rbx), %edx
59 movq %rdx, %rdi
60 movq %rdx, (%rsp)
61 call malloc@PLT
62 testq %rax, %rax
63 je .L11
64 movq (%rsp), %rdx
65 leaq 1(%rbp), %rcx
66 movq %rbx, %rsi
67 movq %rax, %rdi
68 movq %rcx, 64(%rsp)
69 call __GI_memcpy@PLT
70 movq 8(%rsp), %rsi
71 movq %r15, %rdi
72 movl $0, %fs:(%r14)
73 movq %rax, (%rsi,%rbp,8)
74 movq %r13, %rbp
75 call __GI___readdir64
76 testq %rax, %rax
77 movq %rax, %rbx
78 jne .L12
79 .L11:
80 movl %fs:(%r14), %eax
81 leaq 48(%rsp), %rbp
82 testl %eax, %eax
83 jne .L13
84 movq %r15, %rdi
85 call __closedir
86 movq 32(%rsp), %rcx
87 movq 64(%rsp), %rsi
88 testq %rcx, %rcx
89 je .L14
90 movq 8(%rsp), %rdi
91 movl $8, %edx
92 leaq 48(%rsp), %rbp
93 call __GI_qsort
94 movq 64(%rsp), %rsi
95 .L14:
96 movq 24(%rsp), %rax
97 movq 8(%rsp), %rcx
98 testl %esi, %esi
99 movq %rcx, (%rax)
100 movl %esi, %eax
101 js .L1
102 movl 44(%rsp), %ecx
103 movl %ecx, %fs:(%r14)
104 .L1:
105 addq $88, %rsp
106 popq %rbx
107 popq %rbp
108 popq %r12
109 popq %r13
110 popq %r14
111 popq %r15
113 .p2align 4,,10
114 .p2align 3
115 .L37:
116 movq 16(%rsp), %rax
117 testq %rax, %rax
118 jne .L38
119 movl $80, %esi
120 movq $10, 16(%rsp)
121 .L10:
122 movq 8(%rsp), %rdi
123 call realloc@PLT
124 testq %rax, %rax
125 je .L11
126 movq %rax, 56(%rsp)
127 movq %rax, 8(%rsp)
128 jmp .L7
129 .p2align 4,,10
130 .p2align 3
131 .L38:
132 addq %rax, %rax
133 movq %rax, 16(%rsp)
134 leaq 0(,%rax,8), %rsi
135 jmp .L10
136 .L13:
137 movq %rbp, %rdi
138 call __scandir_cancel_handler
139 .LEHE0:
140 addq $88, %rsp
141 movl $-1, %eax
142 popq %rbx
143 popq %rbp
144 popq %r12
145 popq %r13
146 popq %r14
147 popq %r15
149 .L36:
150 movl $-1, %eax
152 .L19:
153 movq %rax, %rbx
154 movq %rbp, %rdi
155 .LEHB1:
156 call __scandir_cancel_handler
157 movq %rbx, %rdi
158 call _Unwind_Resume@PLT
159 .LEHE1:
160 .LFE47:
161 .globl __gcc_personality_v0
162 .section .gcc_except_table,"a",@progbits
163 .LLSDA47:
164 .byte 0xff
165 .byte 0xff
166 .byte 0x1
167 .uleb128 .LLSDACSE47-.LLSDACSB47
168 .LLSDACSB47:
169 .uleb128 .LEHB0-.LFB47
170 .uleb128 .LEHE0-.LEHB0
171 .uleb128 .L19-.LFB47
172 .uleb128 0
173 .uleb128 .LEHB1-.LFB47
174 .uleb128 .LEHE1-.LEHB1
175 .uleb128 0
176 .uleb128 0
177 .LLSDACSE47:
178 .text
179 .size __scandir64_tail, .-__scandir64_tail
180 .hidden DW.ref.__gcc_personality_v0
181 .weak DW.ref.__gcc_personality_v0
182 .section .data.DW.ref.__gcc_personality_v0,"awG",@progbits,DW.ref.__gcc_personality_v0,comdat
183 .align 8
184 .type DW.ref.__gcc_personality_v0, @object
185 .size DW.ref.__gcc_personality_v0, 8
186 DW.ref.__gcc_personality_v0:
187 .quad __gcc_personality_v0
188 .hidden __scandir_cancel_handler
189 .hidden __closedir