clarify the purpose of this project
[nyanglibc.git] / sunrpc / xdr_sizeof.shared.s
blobf8c4954917e4e8830252c2709b6fe8b3ac89fed2
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_xdr_sizeof, xdr_sizeof@GLIBC_2.2.5
7 #NO_APP
8 .p2align 4,,15
9 .type x_putlong, @function
10 x_putlong:
11 addl $4, 40(%rdi)
12 movl $1, %eax
13 ret
14 .size x_putlong, .-x_putlong
15 .p2align 4,,15
16 .type x_putbytes, @function
17 x_putbytes:
18 addl %edx, 40(%rdi)
19 movl $1, %eax
20 ret
21 .size x_putbytes, .-x_putbytes
22 .p2align 4,,15
23 .type x_getpostn, @function
24 x_getpostn:
25 movl 40(%rdi), %eax
26 ret
27 .size x_getpostn, .-x_getpostn
28 .p2align 4,,15
29 .type x_setpostn, @function
30 x_setpostn:
31 xorl %eax, %eax
32 ret
33 .size x_setpostn, .-x_setpostn
34 .p2align 4,,15
35 .type harmless, @function
36 harmless:
37 xorl %eax, %eax
38 ret
39 .size harmless, .-harmless
40 .p2align 4,,15
41 .type x_destroy, @function
42 x_destroy:
43 movq 24(%rdi), %rax
44 movl $0, 40(%rdi)
45 movq $0, 32(%rdi)
46 testq %rax, %rax
47 je .L13
48 pushq %rbx
49 movq %rdi, %rbx
50 movq %rax, %rdi
51 call free@PLT
52 movq $0, 24(%rbx)
53 popq %rbx
54 ret
55 .p2align 4,,10
56 .p2align 3
57 .L13:
58 rep ret
59 .size x_destroy, .-x_destroy
60 .p2align 4,,15
61 .type x_inline, @function
62 x_inline:
63 testl %esi, %esi
64 je .L21
65 movl (%rdi), %eax
66 testl %eax, %eax
67 jne .L21
68 cmpl %esi, 32(%rdi)
69 movq 24(%rdi), %rax
70 jbe .L18
71 addl %esi, 40(%rdi)
72 ret
73 .p2align 4,,10
74 .p2align 3
75 .L18:
76 pushq %r12
77 pushq %rbp
78 movl %esi, %r12d
79 pushq %rbx
80 movq %rdi, %rbx
81 movq %rax, %rdi
82 call free@PLT
83 movq %r12, %rdi
84 call malloc@PLT
85 testq %rax, %rax
86 movq %rax, 24(%rbx)
87 je .L25
88 addl %r12d, 40(%rbx)
89 movq %r12, 32(%rbx)
90 .L16:
91 popq %rbx
92 popq %rbp
93 popq %r12
94 ret
95 .p2align 4,,10
96 .p2align 3
97 .L21:
98 xorl %eax, %eax
99 ret
100 .p2align 4,,10
101 .p2align 3
102 .L25:
103 movq $0, 32(%rbx)
104 jmp .L16
105 .size x_inline, .-x_inline
106 .p2align 4,,15
107 .type x_putint32, @function
108 x_putint32:
109 addl $4, 40(%rdi)
110 movl $1, %eax
112 .size x_putint32, .-x_putint32
113 .p2align 4,,15
114 .globl __GI_xdr_sizeof
115 .hidden __GI_xdr_sizeof
116 .type __GI_xdr_sizeof, @function
117 __GI_xdr_sizeof:
118 pushq %rbx
119 leaq x_putlong(%rip), %rax
120 movq %rdi, %rdx
121 addq $-128, %rsp
122 movq %rax, 56(%rsp)
123 leaq x_putbytes(%rip), %rax
124 movq %rsp, %rdi
125 movl $0, (%rsp)
126 movl $0, 40(%rsp)
127 movq %rax, 72(%rsp)
128 leaq x_inline(%rip), %rax
129 movq $0, 24(%rsp)
130 movq $0, 32(%rsp)
131 movq %rax, 96(%rsp)
132 leaq x_getpostn(%rip), %rax
133 movq %rax, 80(%rsp)
134 leaq x_setpostn(%rip), %rax
135 movq %rax, 88(%rsp)
136 leaq x_destroy(%rip), %rax
137 movq %rax, 104(%rsp)
138 leaq x_putint32(%rip), %rax
139 movq %rax, 120(%rsp)
140 leaq harmless(%rip), %rax
141 movq %rax, 48(%rsp)
142 movq %rax, 64(%rsp)
143 movq %rax, 112(%rsp)
144 leaq 48(%rsp), %rax
145 movq %rax, 8(%rsp)
146 xorl %eax, %eax
147 call *%rdx
148 movq 24(%rsp), %rdi
149 movl %eax, %ebx
150 call free@PLT
151 xorl %eax, %eax
152 cmpl $1, %ebx
153 jne .L27
154 movl 40(%rsp), %eax
155 .L27:
156 subq $-128, %rsp
157 popq %rbx
159 .size __GI_xdr_sizeof, .-__GI_xdr_sizeof
160 .globl __EI_xdr_sizeof
161 .set __EI_xdr_sizeof,__GI_xdr_sizeof