181 asm("small_fill_end: "); |
181 asm("small_fill_end: "); |
182 __JUMP(,lr); |
182 __JUMP(,lr); |
183 |
183 |
184 } |
184 } |
185 |
185 |
|
186 #ifdef __EABI__ |
|
187 //mikek N.B. These __aeabi_mem functions are also defined in rvct/compsupp/aeabimem.cpp |
|
188 // and should be implemented in the compsupp library, not here, when we build one for gcce. |
|
189 |
|
190 #define EXPORT_EABI_MEMSET_VENEER(name) \ |
|
191 extern "C" EXPORT_C __NAKED__ TAny* (name)(TAny* /*aTrg*/, unsigned int /*aLength*/, TInt /*aValue*/ ) \ |
|
192 { \ |
|
193 asm(" and r2, r2, #255"); \ |
|
194 asm(" b fill "); \ |
|
195 } |
|
196 |
|
197 EXPORT_EABI_MEMSET_VENEER(__aeabi_memset8) |
|
198 EXPORT_EABI_MEMSET_VENEER(__aeabi_memset4) |
|
199 EXPORT_EABI_MEMSET_VENEER(__aeabi_memset) |
|
200 |
|
201 #define EXPORT_EABI_MEMCLR_ALIAS(alias) \ |
|
202 extern "C" EXPORT_C __NAKED__ TAny* (alias)(TAny* /*aTrg*/, unsigned int /*aLength*/ ) \ |
|
203 { \ |
|
204 asm(" b memclr "); \ |
|
205 } |
|
206 |
|
207 EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr8) |
|
208 EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr4) |
|
209 EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr) |
|
210 |
|
211 #define EXPORT_EABI_MEMMOVE_ALIAS(alias,func) \ |
|
212 extern "C" EXPORT_C __NAKED__ TAny* (alias)(TAny* /*aTrg*/, const TAny* /*aSrc*/, unsigned int /*aLength*/) \ |
|
213 { \ |
|
214 asm(" b " #func ); \ |
|
215 } |
|
216 |
|
217 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy8,memcpy) |
|
218 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy4,memcpy) |
|
219 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy,memcpy) |
|
220 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove8,memmove) |
|
221 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove4,memmove) |
|
222 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove,memmove) |
|
223 #endif // __EABI__ |
|
224 |
186 #endif // USE_REPLACEMENT_MEMSET |
225 #endif // USE_REPLACEMENT_MEMSET |
187 |
226 |
188 #ifndef USE_REPLACEMENT_MEMCPY |
227 #ifndef USE_REPLACEMENT_MEMCPY |
189 |
228 |
190 // See header file e32cmn.h for the in-source documentation. |
229 // See header file e32cmn.h for the in-source documentation. |