diff options
author | Szabolcs Nagy <nsz@port70.net> | 2017-02-21 00:07:34 +0000 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2017-06-22 18:34:06 -0400 |
commit | e6def544358afd5648a428d2e02c147a1f901048 (patch) | |
tree | 9210513645e1a5dc230e1f128237dbe978e94ee7 /src/string/arm/__aeabi_memclr.c | |
parent | 91d34c4533e6bf6eacad7a9f001f28f9e5ebc656 (diff) | |
download | musl-e6def544358afd5648a428d2e02c147a1f901048.tar.gz musl-e6def544358afd5648a428d2e02c147a1f901048.tar.xz musl-e6def544358afd5648a428d2e02c147a1f901048.zip |
fix arm run-time abi string functions
in arm rtabi these __aeabi_* functions have special abi (they are only allowed to clobber r0,r1,r2,r3,ip,lr,cpsr), so they cannot be simple wrappers around normal string functions (which may clobber other registers), the safest solution is to write them in asm, a minimalistic implementation works because these are not supposed to be emitted by compilers or used in general.
Diffstat (limited to 'src/string/arm/__aeabi_memclr.c')
-rw-r--r-- | src/string/arm/__aeabi_memclr.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/src/string/arm/__aeabi_memclr.c b/src/string/arm/__aeabi_memclr.c deleted file mode 100644 index a25306d7..00000000 --- a/src/string/arm/__aeabi_memclr.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <string.h> -#include "libc.h" - -void __aeabi_memclr(void *dest, size_t n) -{ - memset(dest, 0, n); -} -weak_alias(__aeabi_memclr, __aeabi_memclr4); -weak_alias(__aeabi_memclr, __aeabi_memclr8); |