clarify the purpose of this project
[nyanglibc.git] / elf / dl-call-libc-early-init.s
blob7163ad561abbc405c4ad2c0a25db660cab5324b0
1 .text
2 .section .rodata.str1.1,"aMS",@progbits,1
3 .LC0:
4 .string "GLIBC_PRIVATE"
5 .LC1:
6 .string "__libc_early_init"
7 .LC2:
8 .string "dl-call-libc-early-init.c"
9 .LC3:
10 .string "sym != NULL"
11 .text
12 .p2align 4,,15
13 .globl _dl_call_libc_early_init
14 .hidden _dl_call_libc_early_init
15 .type _dl_call_libc_early_init, @function
16 _dl_call_libc_early_init:
17 testq %rdi, %rdi
18 je .L1
19 pushq %rbp
20 pushq %rbx
21 movl %esi, %ebp
22 leaq .LC0(%rip), %rcx
23 leaq .LC1(%rip), %rsi
24 movl $157536133, %r8d
25 subq $8, %rsp
26 movl $110527148, %edx
27 movq %rdi, %rbx
28 call _dl_lookup_direct
29 testq %rax, %rax
30 je .L10
31 cmpw $-15, 6(%rax)
32 je .L5
33 movq (%rbx), %rdx
34 .L4:
35 addq 8(%rax), %rdx
36 addq $8, %rsp
37 movzbl %bpl, %edi
38 popq %rbx
39 popq %rbp
40 jmp *%rdx
41 .p2align 4,,10
42 .p2align 3
43 .L1:
44 rep ret
45 .p2align 4,,10
46 .p2align 3
47 .L5:
48 xorl %edx, %edx
49 jmp .L4
50 .L10:
51 leaq __PRETTY_FUNCTION__.9053(%rip), %rcx
52 leaq .LC2(%rip), %rsi
53 leaq .LC3(%rip), %rdi
54 movl $37, %edx
55 call __assert_fail
56 .size _dl_call_libc_early_init, .-_dl_call_libc_early_init
57 .section .rodata.str1.16,"aMS",@progbits,1
58 .align 16
59 .type __PRETTY_FUNCTION__.9053, @object
60 .size __PRETTY_FUNCTION__.9053, 25
61 __PRETTY_FUNCTION__.9053:
62 .string "_dl_call_libc_early_init"
63 .hidden __assert_fail
64 .hidden _dl_lookup_direct