clarify the purpose of this project
[nyanglibc.git] / assert / assert.shared.s
blob617f90f53ea2de432297cefee2a5c9d1b9e9b9dc
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .section .rodata.str1.1,"aMS",@progbits,1
7 .LC0:
8 .string ": "
9 .LC1:
10 .string ""
11 .LC2:
12 .string "%s"
13 #NO_APP
14 .text
15 .p2align 4,,15
16 .globl __assert_fail_base
17 .hidden __assert_fail_base
18 .type __assert_fail_base, @function
19 __assert_fail_base:
20 pushq %r14
21 pushq %r13
22 movl %ecx, %r14d
23 pushq %r12
24 pushq %rbp
25 movq %rsi, %r13
26 pushq %rbx
27 movq %rdi, %rbp
28 movq %rdx, %r12
29 movq %r8, %rbx
30 subq $16, %rsp
31 movl __libc_pthread_functions_init(%rip), %eax
32 testl %eax, %eax
33 je .L2
34 movq 104+__libc_pthread_functions(%rip), %rax
35 xorl %esi, %esi
36 movl $1, %edi
37 #APP
38 # 53 "assert.c" 1
39 ror $2*8+1, %rax
40 xor %fs:48, %rax
41 # 0 "" 2
42 #NO_APP
43 call *%rax
44 .L2:
45 testq %rbx, %rbx
46 leaq .LC0(%rip), %r8
47 je .L17
48 .L3:
49 movq __progname@GOTPCREL(%rip), %rax
50 leaq 4(%rsp), %rdx
51 leaq .LC1(%rip), %rcx
52 leaq 8(%rsp), %rdi
53 movl %r14d, %r9d
54 movq (%rax), %rsi
55 leaq .LC0(%rip), %rax
56 cmpb $0, (%rsi)
57 pushq %rdx
58 movq %rsi, %rdx
59 pushq %r13
60 pushq %r8
61 movq %rbp, %rsi
62 pushq %rbx
63 movq %r12, %r8
64 cmovne %rax, %rcx
65 xorl %eax, %eax
66 call __GI___asprintf
67 addq $32, %rsp
68 testl %eax, %eax
69 js .L5
70 movq 8(%rsp), %rdx
71 leaq .LC2(%rip), %rsi
72 xorl %edi, %edi
73 xorl %eax, %eax
74 call __fxprintf
75 movq stderr@GOTPCREL(%rip), %rax
76 movq (%rax), %rdi
77 call __GI__IO_fflush
78 movq _rtld_global_ro@GOTPCREL(%rip), %rax
79 movl 4(%rsp), %esi
80 xorl %r9d, %r9d
81 orl $-1, %r8d
82 xorl %edi, %edi
83 movl $34, %ecx
84 movl $3, %edx
85 movq 24(%rax), %rax
86 addl %eax, %esi
87 negl %eax
88 andl %eax, %esi
89 movl %esi, 4(%rsp)
90 movslq %esi, %rsi
91 call __GI___mmap
92 cmpq $-1, %rax
93 movq %rax, %rbx
94 je .L7
95 movl 4(%rsp), %eax
96 movq 8(%rsp), %rsi
97 leaq 4(%rbx), %rdi
98 movl %eax, (%rbx)
99 call __GI_strcpy
100 #APP
101 # 77 "assert.c" 1
102 xchgq %rbx, __GI___abort_msg(%rip)
103 # 0 "" 2
104 #NO_APP
105 testq %rbx, %rbx
106 je .L7
107 movl (%rbx), %esi
108 movq %rbx, %rdi
109 call __GI___munmap
110 .L7:
111 movq 8(%rsp), %rdi
112 call free@PLT
113 .L9:
114 call __GI_abort
115 .L5:
116 leaq errstr.11898(%rip), %rsi
117 movl $18, %edx
118 movl $2, %edi
119 call __GI___libc_write
120 jmp .L9
121 .L17:
122 leaq .LC1(%rip), %rbx
123 movq %rbx, %r8
124 jmp .L3
125 .size __assert_fail_base, .-__assert_fail_base
126 .section .rodata.str1.8,"aMS",@progbits,1
127 .align 8
128 .LC3:
129 .string "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n"
130 .text
131 .p2align 4,,15
132 .globl __GI___assert_fail
133 .hidden __GI___assert_fail
134 .type __GI___assert_fail, @function
135 __GI___assert_fail:
136 pushq %r13
137 pushq %r12
138 movq %rcx, %r13
139 pushq %rbp
140 pushq %rbx
141 movq %rsi, %rbp
142 movq %rdi, %rbx
143 leaq .LC3(%rip), %rsi
144 leaq __GI__libc_intl_domainname(%rip), %rdi
145 movl %edx, %r12d
146 subq $8, %rsp
147 movl $5, %edx
148 call __GI___dcgettext
149 movq %r13, %r8
150 movl %r12d, %ecx
151 movq %rbp, %rdx
152 movq %rbx, %rsi
153 movq %rax, %rdi
154 call __assert_fail_base
155 .size __GI___assert_fail, .-__GI___assert_fail
156 .globl __assert_fail
157 .set __assert_fail,__GI___assert_fail
158 .section .rodata.str1.16,"aMS",@progbits,1
159 .align 16
160 .type errstr.11898, @object
161 .size errstr.11898, 19
162 errstr.11898:
163 .string "Unexpected error.\n"
164 .hidden __fxprintf
165 .hidden __libc_pthread_functions
166 .hidden __libc_pthread_functions_init