[RFC PATCH 05/10] arm: add aligned-memory aliases to eabi_compat

Sam Edwards cfsworks at gmail.com
Sat May 20 22:55:42 CEST 2023

These are sometimes used by LLVM's code-generator, when it can guarantee
that the memory buffer being passed is aligned on a (4- or 8-byte)
boundary. They can safely be aliases to the unaligned versions.

Signed-off-by: Sam Edwards <CFSworks at gmail.com>

 arch/arm/lib/eabi_compat.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/lib/eabi_compat.c b/arch/arm/lib/eabi_compat.c
index 059ca07265..d00f68a3f6 100644
--- a/arch/arm/lib/eabi_compat.c
+++ b/arch/arm/lib/eabi_compat.c
@@ -31,12 +31,24 @@ void __aeabi_memcpy(void *dest, const void *src, size_t n)
 	(void) memcpy(dest, src, n);
+void __aeabi_memcpy4(void *dest, const void *src, size_t n) __alias(__aeabi_memcpy);
+void __aeabi_memcpy8(void *dest, const void *src, size_t n) __alias(__aeabi_memcpy);
 void __aeabi_memset(void *dest, size_t n, int c)
 	(void) memset(dest, c, n);
+void __aeabi_memset4(void *dest, size_t n, int c) __alias(__aeabi_memset);
+void __aeabi_memset8(void *dest, size_t n, int c) __alias(__aeabi_memset);
 void __aeabi_memclr(void *dest, size_t n)
 	(void)memset(dest, 0, n);
+void __aeabi_memclr4(void *dest, size_t n) __alias(__aeabi_memclr);
+void __aeabi_memclr8(void *dest, size_t n) __alias(__aeabi_memclr);

More information about the U-Boot mailing list