arch/arm/eabi_compat.c: Add eabi_clrX and eabi_memcyX

Clang generated code uses this for zero initialized variables.

Change-Id: I460a0096918141c1cf8826bdf1853a3aa3aecff8
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69743
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
This commit is contained in:
Arthur Heymans 2022-11-17 12:10:07 +01:00 committed by Martin L Roth
parent c83a17841c
commit fa2feae3d6
1 changed files with 23 additions and 0 deletions

View File

@ -23,6 +23,14 @@ void __aeabi_unwind_cpp_pr1(void)
{ {
} }
/* Support the alias for the __aeabi_memcpy which may
assume memory alignment. */
void __aeabi_memcpy4(void *dest, const void *src, size_t n)
__attribute((alias("__aeabi_memcpy")));
void __aeabi_memcpy8(void *dest, const void *src, size_t n)
__attribute((alias("__aeabi_memcpy")));
void __aeabi_memcpy(void *dest, const void *src, size_t n); void __aeabi_memcpy(void *dest, const void *src, size_t n);
void __aeabi_memcpy(void *dest, const void *src, size_t n) void __aeabi_memcpy(void *dest, const void *src, size_t n)
{ {
@ -34,3 +42,18 @@ void __aeabi_memset(void *dest, size_t n, int c)
{ {
(void)memset(dest, c, n); (void)memset(dest, c, n);
} }
/* Support the alias for the __aeabi_memclr which may
assume memory alignment. */
void __aeabi_memclr4(void *dest, size_t n)
__attribute((alias("__aeabi_memclr")));
void __aeabi_memclr8(void *dest, size_t n)
__attribute((alias("__aeabi_memclr")));
/* Support the routine __aeabi_memclr. */
void __aeabi_memclr(void *dest, size_t n);
void __aeabi_memclr(void *dest, size_t n)
{
__aeabi_memset(dest, n, 0);
}