From fa2feae3d6e537cdc9d18d5128ae8fae7d17e487 Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Thu, 17 Nov 2022 12:10:07 +0100 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/69743 Tested-by: build bot (Jenkins) Reviewed-by: Martin L Roth --- src/arch/arm/eabi_compat.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/arch/arm/eabi_compat.c b/src/arch/arm/eabi_compat.c index 2a110d5ccf..849fc6507f 100644 --- a/src/arch/arm/eabi_compat.c +++ b/src/arch/arm/eabi_compat.c @@ -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) { @@ -34,3 +42,18 @@ void __aeabi_memset(void *dest, size_t n, int c) { (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); +} -- cgit v1.2.3