11
22app : file format elf32-littlearm
33
4-
54Disassembly of section .text :
65
76<main>:
@@ -16,118 +15,222 @@ Disassembly of section .text:
1615 movt r1, #0x2000
1716 movt r0, #0x2000
1817 subs r1, r1, r0
19- bl # 0x34
18+ bl 0x84 <__aeabi_memclr> @ imm = # 0x26
2019 movw r1, #0x0
2120 movw r0, #0x0
2221 movt r1, #0x2000
2322 movt r0, #0x2000
2423 subs r2, r1, r0
25- movw r1, #0x16c
24+ movw r1, #0x288
2625 movt r1, #0x0
27- bl # 0x8
28- bl #-0x40
26+ bl 0x88 <__aeabi_memcpy> @ imm = # 0xc
27+ bl 0x40 <main> @ imm = #-0x40
2928 trap
3029
3130<UsageFault>:
32- b #-0x4 <UsageFault>
31+ b 0x82 <UsageFault> @ imm = #-0x4
32+
33+ <__aeabi_memclr>:
34+ b.w 0x9a <compiler_builtins::arm::__aeabi_memclr::h96ee28dc2b586447> @ imm = #0x12
3335
3436<__aeabi_memcpy>:
35- b.w #0x10 <memcpy>
37+ b.w 0x8c <compiler_builtins::arm::__aeabi_memcpy::hf6d647cdc92d542c> @ imm = #0x0
38+
39+ <compiler_builtins::arm::__aeabi_memcpy::hf6d647cdc92d542c>:
40+ b.w 0xa0 <compiler_builtins::mem::memcpy::hac255b7467641344> @ imm = #0x10
3641
37- <__aeabi_memset>:
42+ <compiler_builtins::arm:: __aeabi_memset::haf82f618eda1ab58 >:
3843 mov r3, r1
3944 mov r1, r2
4045 mov r2, r3
41- b.w # 0x84 < memset>
46+ b.w 0x1ec <compiler_builtins::mem:: memset::h1dd8afbc6e8f8510> @ imm = # 0x152
4247
43- <__aeabi_memclr>:
48+ <compiler_builtins::arm:: __aeabi_memclr::h96ee28dc2b586447 >:
4449 movs r2, #0x0
45- b.w #- 0x10 < __aeabi_memset>
50+ b.w 0x90 <compiler_builtins::arm:: __aeabi_memset::haf82f618eda1ab58> @ imm = #- 0x10
4651
47- <memcpy>:
52+ <compiler_builtins::mem:: memcpy::hac255b7467641344 >:
4853 push {r4, r5, r6, r7, lr}
4954 add r7, sp, #0xc
50- str r8, [sp, #-4 ]!
51- cbz r2, #0x10
52- subs r3, r2, #0x1
53- and r12, r2, #0x3
54- cmp r3, #0x3
55- bhs #0xc <memcpy+0x22 >
55+ push.w {r8, r9, r10}
56+ cmp r2, #0xf
57+ bls 0x174 <compiler_builtins::mem::memcpy::hac255b7467641344+0xd4 > @ imm = #0xc6
58+ rsbs r3, r0, #0
59+ ands r4, r3, #0x3
60+ add.w r12, r0, r4
61+ beq 0xe6 <compiler_builtins::mem::memcpy::hac255b7467641344+0x46 > @ imm = #0x2c
62+ mov r3, r0
63+ mov r6, r1
64+ ldrb r5, [r6]
65+ strb r5, [r3], #1
66+ cmp r3, r12
67+ itttt lo
68+ ldrblo r5, [r6, #0x1 ]
69+ strblo r5, [r3], #1
70+ cmplo r3, r12
71+ ldrblo r5, [r6, #0x2 ]
72+ itt lo
73+ strblo r5, [r3], #1
74+ cmplo r3, r12
75+ bhs 0xe6 <compiler_builtins::mem::memcpy::hac255b7467641344+0x46 > @ imm = #0xa
76+ ldrb r5, [r6, #0x3 ]
77+ adds r6, #0x4
78+ strb r5, [r3], #1
79+ cmp r3, r12
80+ blo 0xbc <compiler_builtins::mem::memcpy::hac255b7467641344+0x1c > @ imm = #-0x2c
81+ sub.w lr, r2, r4
82+ add.w r9, r1, r4
83+ bic r8, lr, #0x3
84+ add.w r3, r12, r8
85+ lsls.w r2, r9, #0x1e
86+ beq 0x17c <compiler_builtins::mem::memcpy::hac255b7467641344+0xdc > @ imm = #0x7e
87+ cmp.w r8, #0x1
88+ blt 0x1ae <compiler_builtins::mem::memcpy::hac255b7467641344+0x10e > @ imm = #0xaa
89+ movs r2, #0x18
90+ and .w r10, r2, r9, lsl #3
5691 movs r2, #0x0
57- cmp.w r12, #0x0
58- bne #0x3e <memcpy+0x5c >
59- ldr r8, [sp], #4
60- pop {r4, r5, r6, r7, pc}
61- bic r2, r2, #0x3
62- add.w lr, r0, #0x1
63- rsbs r4, r2, #0
64- add.w r8, r1, #0x1
65- mvn r2, #0x3
66- add.w r6, r8, r2
67- add.w r5, lr, r2
68- adds r2, #0x4
69- ldrb r3, [r6, #0x3 ]
70- strb r3, [r5, #0x3 ]
71- ldrb r3, [r6, #0x4 ]
72- strb r3, [r5, #0x4 ]
73- ldrb r3, [r6, #0x5 ]
74- strb r3, [r5, #0x5 ]
75- ldrb r3, [r6, #0x6 ]
76- strb r3, [r5, #0x6 ]
77- adds r3, r4, r2
78- adds r3, #0x4
79- bne #-0x22 <memcpy+0x34 >
80- adds r2, #0x4
81- cmp.w r12, #0x0
82- beq #-0x42 <memcpy+0x1c >
83- ldrb r3, [r1, r2]
84- cmp.w r12, #0x1
85- strb r3, [r0, r2]
86- beq #-0x4c <memcpy+0x1c >
87- adds r3, r2, #0x1
88- cmp.w r12, #0x2
89- ldrb r6, [r1, r3]
90- strb r6, [r0, r3]
91- beq #-0x58 <memcpy+0x1c >
92- adds r2, #0x2
93- ldrb r1, [r1, r2]
94- strb r1, [r0, r2]
95- ldr r8, [sp], #4
92+ sub.w r2, r2, r9, lsl #3
93+ and r5, r2, #0x18
94+ bic r2, r9, #0x3
95+ add.w r6, r2, #0x8
96+ ldr r2, [r2]
97+ lsr.w r1, r2, r10
98+ ldr r2, [r6, #-4 ]
99+ lsl.w r4, r2, r5
100+ orrs r1, r4
101+ str r1, [r12], #4
102+ cmp r12, r3
103+ bhs 0x1ae <compiler_builtins::mem::memcpy::hac255b7467641344+0x10e > @ imm = #0x7a
104+ lsr.w r1, r2, r10
105+ ldr r2, [r6]
106+ lsl.w r4, r2, r5
107+ orrs r1, r4
108+ str r1, [r12], #4
109+ cmp r12, r3
110+ itttt lo
111+ lsrlo.w r1, r2, r10
112+ ldrlo r2, [r6, #0x4 ]
113+ lsllo.w r4, r2, r5
114+ orrlo r1, r4
115+ itt lo
116+ strlo r1, [r12], #4
117+ cmplo r12, r3
118+ bhs 0x1ae <compiler_builtins::mem::memcpy::hac255b7467641344+0x10e > @ imm = #0x50
119+ lsr.w r1, r2, r10
120+ ldr r2, [r6, #0x8 ]
121+ adds r6, #0x10
122+ lsl.w r4, r2, r5
123+ orrs r1, r4
124+ str r1, [r12], #4
125+ cmp r12, r3
126+ blo 0x11c <compiler_builtins::mem::memcpy::hac255b7467641344+0x7c > @ imm = #-0x58
127+ b 0x1ae <compiler_builtins::mem::memcpy::hac255b7467641344+0x10e > @ imm = #0x38
128+ mov r3, r0
129+ cmp r2, #0x1
130+ bge 0x1ba <compiler_builtins::mem::memcpy::hac255b7467641344+0x11a > @ imm = #0x3e
131+ b 0x1e6 <compiler_builtins::mem::memcpy::hac255b7467641344+0x146 > @ imm = #0x68
132+ cmp.w r8, #0x1
133+ blt 0x1ae <compiler_builtins::mem::memcpy::hac255b7467641344+0x10e > @ imm = #0x2a
134+ mov r4, r9
135+ ldr r1, [r4]
136+ str r1, [r12], #4
137+ cmp r12, r3
138+ itttt lo
139+ ldrlo r1, [r4, #0x4 ]
140+ strlo r1, [r12], #4
141+ cmplo r12, r3
142+ ldrlo r1, [r4, #0x8 ]
143+ itt lo
144+ strlo r1, [r12], #4
145+ cmplo r12, r3
146+ bhs 0x1ae <compiler_builtins::mem::memcpy::hac255b7467641344+0x10e > @ imm = #0xa
147+ ldr r1, [r4, #0xc ]
148+ adds r4, #0x10
149+ str r1, [r12], #4
150+ cmp r12, r3
151+ blo 0x184 <compiler_builtins::mem::memcpy::hac255b7467641344+0xe4 > @ imm = #-0x2c
152+ add.w r1, r9, r8
153+ and r2, lr, #0x3
154+ cmp r2, #0x1
155+ blt 0x1e6 <compiler_builtins::mem::memcpy::hac255b7467641344+0x146 > @ imm = #0x2a
156+ add r2, r3
157+ ldrb r6, [r1]
158+ strb r6, [r3], #1
159+ cmp r3, r2
160+ itttt lo
161+ ldrblo r6, [r1, #0x1 ]
162+ strblo r6, [r3], #1
163+ cmplo r3, r2
164+ ldrblo r6, [r1, #0x2 ]
165+ itt lo
166+ strblo r6, [r3], #1
167+ cmplo r3, r2
168+ bhs 0x1e6 <compiler_builtins::mem::memcpy::hac255b7467641344+0x146 > @ imm = #0xa
169+ ldrb r6, [r1, #0x3 ]
170+ adds r1, #0x4
171+ strb r6, [r3], #1
172+ cmp r3, r2
173+ blo 0x1bc <compiler_builtins::mem::memcpy::hac255b7467641344+0x11c > @ imm = #-0x2c
174+ pop.w {r8, r9, r10}
96175 pop {r4, r5, r6, r7, pc}
97176
98- <memset>:
177+ <compiler_builtins::mem:: memset::h1dd8afbc6e8f8510 >:
99178 push {r4, r6, r7, lr}
100179 add r7, sp, #0x8
101- cbz r2, #0x3e
102- subs r3, r2, #0x1
103- and r12, r2, #0x3
104- cmp r3, #0x3
105- bhs #0x2 <memset+0x14 >
106- movs r2, #0x0
107- b #0x22 <memset+0x38 >
108- bic r2, r2, #0x3
109- add.w lr, r0, #0x1
110- rsbs r3, r2, #0
111- mvn r2, #0x3
112- add.w r4, lr, r2
113- adds r2, #0x4
114- strb r1, [r4, #0x6 ]
115- strb r1, [r4, #0x5 ]
116- strb r1, [r4, #0x4 ]
117- strb r1, [r4, #0x3 ]
118- adds r4, r3, r2
119- adds r4, #0x4
120- bne #-0x16 <memset+0x22 >
121- adds r2, #0x4
122- cmp.w r12, #0x0
123- itt ne
124- strbne r1, [r0, r2]
125- cmpne.w r12, #0x1
126- bne #0x0 <memset+0x48 >
127- pop {r4, r6, r7, pc}
128- add r2, r0
129- cmp.w r12, #0x2
130- strb r1, [r2, #0x1 ]
131- it ne
132- strbne r1, [r2, #0x2 ]
180+ cmp r2, #0xf
181+ bls 0x260 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x74 > @ imm = #0x6a
182+ rsbs r3, r0, #0
183+ ands lr, r3, #0x3
184+ add.w r12, r0, lr
185+ beq 0x220 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x34 > @ imm = #0x1e
186+ mov r3, r0
187+ strb r1, [r3], #1
188+ cmp r3, r12
189+ itttt lo
190+ strblo r1, [r3], #1
191+ cmplo r3, r12
192+ strblo r1, [r3], #1
193+ cmplo r3, r12
194+ bhs 0x220 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x34 > @ imm = #0x6
195+ strb r1, [r3], #1
196+ cmp r3, r12
197+ blo 0x202 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x16 > @ imm = #-0x20
198+ sub.w lr, r2, lr
199+ bic r2, lr, #0x3
200+ add.w r3, r12, r2
201+ cmp r2, #0x1
202+ blt 0x256 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x6a > @ imm = #0x24
203+ uxtb r2, r1
204+ mov.w r4, #0x1010101
205+ muls r2, r4, r2
206+ str r2, [r12], #4
207+ cmp r12, r3
208+ itttt lo
209+ strlo r2, [r12], #4
210+ cmplo r12, r3
211+ strlo r2, [r12], #4
212+ cmplo r12, r3
213+ bhs 0x256 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x6a > @ imm = #0x6
214+ str r2, [r12], #4
215+ cmp r12, r3
216+ blo 0x238 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x4c > @ imm = #-0x20
217+ and r2, lr, #0x3
218+ cmp r2, #0x1
219+ bge 0x266 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x7a > @ imm = #0x6
220+ b 0x286 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x9a > @ imm = #0x24
221+ mov r3, r0
222+ cmp r2, #0x1
223+ blt 0x286 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x9a > @ imm = #0x1e
224+ add r2, r3
225+ strb r1, [r3], #1
226+ cmp r3, r2
227+ itttt lo
228+ strblo r1, [r3], #1
229+ cmplo r3, r2
230+ strblo r1, [r3], #1
231+ cmplo r3, r2
232+ bhs 0x286 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x9a > @ imm = #0x6
233+ strb r1, [r3], #1
234+ cmp r3, r2
235+ blo 0x268 <compiler_builtins::mem::memset::h1dd8afbc6e8f8510+0x7c > @ imm = #-0x20
133236 pop {r4, r6, r7, pc}
0 commit comments