]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
ARM: provide __aeabi_memclr* and __aeabi_memcpy* symbols
authorVladimir Serbinenko <phcoder@gmail.com>
Wed, 22 Jul 2015 18:40:13 +0000 (20:40 +0200)
committerVladimir Serbinenko <phcoder@gmail.com>
Wed, 22 Jul 2015 18:40:13 +0000 (20:40 +0200)
Fixes compilation with recent clang.

grub-core/kern/compiler-rt.c
include/grub/compiler-rt.h

index d4cc15513aabea3061bd2dddc896b105bb180a5b..5cfcb3907f2be4aa42c3e29aa56a860e3ad4d936 100644 (file)
@@ -381,9 +381,24 @@ __aeabi_idiv (grub_int32_t a, grub_int32_t b)
   __attribute__ ((alias ("__divsi3")));
 void *__aeabi_memcpy (void *dest, const void *src, grub_size_t n)
   __attribute__ ((alias ("grub_memcpy")));
+void *__aeabi_memcpy4 (void *dest, const void *src, grub_size_t n)
+  __attribute__ ((alias ("grub_memcpy")));
+void *__aeabi_memcpy8 (void *dest, const void *src, grub_size_t n)
+  __attribute__ ((alias ("grub_memcpy")));
 void *__aeabi_memset (void *s, int c, grub_size_t n)
   __attribute__ ((alias ("memset")));
 
+void
+__aeabi_memclr (void *s, grub_size_t n)
+{
+  grub_memset (s, 0, n);
+}
+
+void __aeabi_memclr4 (void *s, grub_size_t n)
+  __attribute__ ((alias ("__aeabi_memclr")));
+void __aeabi_memclr8 (void *s, grub_size_t n)
+  __attribute__ ((alias ("__aeabi_memclr")));
+
 int
 __aeabi_ulcmp (grub_uint64_t a, grub_uint64_t b)
 {
index 9265c7e8084b408b02cafd9b5dfebd4ffcfc386c..dc73649a5ea219c288d83dd1b2fdedf10ab16a5e 100644 (file)
@@ -88,7 +88,14 @@ EXPORT_FUNC (__aeabi_lmul) (grub_uint64_t a, grub_uint64_t b);
 void *
 EXPORT_FUNC (__aeabi_memcpy) (void *dest, const void *src, grub_size_t n);
 void *
+EXPORT_FUNC (__aeabi_memcpy4) (void *dest, const void *src, grub_size_t n);
+void *
+EXPORT_FUNC (__aeabi_memcpy8) (void *dest, const void *src, grub_size_t n);
+void *
 EXPORT_FUNC(__aeabi_memset) (void *s, int c, grub_size_t n);
+void EXPORT_FUNC(__aeabi_memclr) (void *s, grub_size_t n);
+void EXPORT_FUNC(__aeabi_memclr4) (void *s, grub_size_t n);
+void EXPORT_FUNC(__aeabi_memclr8) (void *s, grub_size_t n);
 
 grub_uint64_t
 EXPORT_FUNC (__aeabi_lasr) (grub_uint64_t u, int b);