clarify the purpose of this project
[nyanglibc.git] / csu / elf-init.nonshared.s
blob15b02b149c90725b3d5345b06302ae9e6526d516
1 .text
2 .p2align 4,,15
3 .globl __libc_csu_init
4 .type __libc_csu_init, @function
5 __libc_csu_init:
6 pushq %r15
7 pushq %r14
8 movq %rdx, %r15
9 pushq %r13
10 pushq %r12
11 leaq __init_array_start(%rip), %r12
12 pushq %rbp
13 leaq __init_array_end(%rip), %rbp
14 pushq %rbx
15 movl %edi, %r13d
16 movq %rsi, %r14
17 subq %r12, %rbp
18 subq $8, %rsp
19 sarq $3, %rbp
20 call _init@PLT
21 testq %rbp, %rbp
22 je .L1
23 xorl %ebx, %ebx
24 .p2align 4,,10
25 .p2align 3
26 .L3:
27 movq %r15, %rdx
28 movq %r14, %rsi
29 movl %r13d, %edi
30 call *(%r12,%rbx,8)
31 addq $1, %rbx
32 cmpq %rbx, %rbp
33 jne .L3
34 .L1:
35 addq $8, %rsp
36 popq %rbx
37 popq %rbp
38 popq %r12
39 popq %r13
40 popq %r14
41 popq %r15
42 ret
43 .size __libc_csu_init, .-__libc_csu_init
44 .p2align 4,,15
45 .globl __libc_csu_fini
46 .type __libc_csu_fini, @function
47 __libc_csu_fini:
48 rep ret
49 .size __libc_csu_fini, .-__libc_csu_fini
50 .hidden __init_array_end
51 .hidden __init_array_start