diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2022-11-17 12:10:07 +0100 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2022-11-30 16:37:05 +0000 |
commit | fa2feae3d6e537cdc9d18d5128ae8fae7d17e487 (patch) | |
tree | 0ccb3a947b10d7fbbeb62b5334ceccdb1dae1669 /src/arch | |
parent | c83a17841cd4b1e88148e57e3da265ee83586ed1 (diff) |
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>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/eabi_compat.c | 23 |
1 files changed, 23 insertions, 0 deletions
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); +} |