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

Sam Edwards
2023-05-21T12:34:40Z

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@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);
--
2.39.2