mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-01-22 09:40:35 -05:00
The ARM assembly versions of memcpy and memmove try to directly modify the PC based on the number of bytes to be copied as an "optimization"; but this only works if instructions are guaranteed to be 4 bytes wide. This trick is completely broken on Cortex-M, since an instruction can be 2-4 bytes wide: for example a memcpy of 4 bytes ends up storing 32 bytes worth of garbage to the target address! Use the C memcpy/memmove implementations for Cortex-M instead; fixing the ASM version is more trouble than it's worth. Change-Id: I695587fd585ec25ef276f2dbc61e2290b7015e13 |
||
|---|---|---|
| .. | ||
| arm | ||
| m68k | ||
| mips | ||
| beep.c | ||
| corelock.c | ||
| ffs.c | ||
| lcd-as-memframe-24bit.c | ||
| lcd-as-memframe.c | ||
| memcpy.c | ||
| memmove.c | ||
| mempcpy.c | ||
| memset.c | ||
| memset16.c | ||
| pcm-mixer.c | ||
| SOURCES | ||
| strlen.c | ||
| thread-unix.c | ||
| thread-win32.c | ||
| thread.c | ||
| thread.h | ||