]> git.proxmox.com Git - grub2.git/commitdiff
* include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
authorVladimir Serbinenko <phcoder@gmail.com>
Mon, 11 Nov 2013 21:53:30 +0000 (22:53 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Mon, 11 Nov 2013 21:53:30 +0000 (22:53 +0100)
* grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.

ChangeLog
grub-core/kern/misc.c
include/grub/misc.h

index f7a7c442c100fd9529a051aed083f967078d1a95..f387a60f35b7744773ffd1697573dea519270604 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
+       * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
+
 2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
index f883fb911ea5cb4409d9779cec6e15931584b86f..af259d4f6ed42437cd96d6fefebba94b6e3a7a2c 100644 (file)
@@ -71,12 +71,12 @@ void *memmove (void *dest, const void *src, grub_size_t n)
 void *memcpy (void *dest, const void *src, grub_size_t n)
   __attribute__ ((alias ("grub_memmove")));
 #else
-void * __attribute__ ((regparm(0)))
+void * GRUB_BUILTIN_ATTR
 memcpy (void *dest, const void *src, grub_size_t n)
 {
        return grub_memmove (dest, src, n);
 }
-void * __attribute__ ((regparm(0)))
+void * GRUB_BUILTIN_ATTR
 memmove (void *dest, const void *src, grub_size_t n)
 {
        return grub_memmove (dest, src, n);
@@ -225,7 +225,7 @@ grub_memcmp (const void *s1, const void *s2, grub_size_t n)
 int memcmp (const void *s1, const void *s2, grub_size_t n)
   __attribute__ ((alias ("grub_memcmp")));
 #else
-int __attribute__ ((regparm(0)))
+int GRUB_BUILTIN_ATTR
 memcmp (const void *s1, const void *s2, grub_size_t n)
 {
   return grub_memcmp (s1, s2, n);
@@ -504,11 +504,18 @@ grub_memset (void *s, int c, grub_size_t len)
 void *memset (void *s, int c, grub_size_t n)
   __attribute__ ((alias ("grub_memset")));
 #else
-void * __attribute__ ((regparm(0)))
+void * GRUB_BUILTIN_ATTR
 memset (void *s, int c, grub_size_t n)
 {
   return grub_memset (s, c, n);
 }
+
+void GRUB_BUILTIN_ATTR
+__bzero (void *s, grub_size_t n)
+{
+  grub_memset (s, 0, n);
+}
+
 #endif
 
 grub_size_t
index 958372469893862fe3ef07c15c158a98ef1718d0..20331f1c176aa33a1379e9d329112041771ffe72 100644 (file)
@@ -98,19 +98,23 @@ grub_memcpy (void *dest, const void *src, grub_size_t n)
   return grub_memmove (dest, src, n);
 }
 
+#if defined (__APPLE__) && defined(__i386__) && !defined (GRUB_UTIL)
+#define GRUB_BUILTIN_ATTR  __attribute__ ((regparm(0)))
+#else
+#define GRUB_BUILTIN_ATTR
+#endif
+
 /* Prototypes for aliases.  */
 #ifndef GRUB_UTIL
+int GRUB_BUILTIN_ATTR EXPORT_FUNC(memcmp) (const void *s1, const void *s2, grub_size_t n);
+void *GRUB_BUILTIN_ATTR EXPORT_FUNC(memmove) (void *dest, const void *src, grub_size_t n);
+void *GRUB_BUILTIN_ATTR EXPORT_FUNC(memcpy) (void *dest, const void *src, grub_size_t n);
+void *GRUB_BUILTIN_ATTR EXPORT_FUNC(memset) (void *s, int c, grub_size_t n);
+
 #ifdef __APPLE__
-int __attribute__ ((regparm(0))) EXPORT_FUNC(memcmp) (const void *s1, const void *s2, grub_size_t n);
-void *__attribute__ ((regparm(0))) EXPORT_FUNC(memmove) (void *dest, const void *src, grub_size_t n);
-void *__attribute__ ((regparm(0))) EXPORT_FUNC(memcpy) (void *dest, const void *src, grub_size_t n);
-void *__attribute__ ((regparm(0))) EXPORT_FUNC(memset) (void *s, int c, grub_size_t n);
-#else
-int EXPORT_FUNC(memcmp) (const void *s1, const void *s2, grub_size_t n);
-void *EXPORT_FUNC(memmove) (void *dest, const void *src, grub_size_t n);
-void *EXPORT_FUNC(memcpy) (void *dest, const void *src, grub_size_t n);
-void *EXPORT_FUNC(memset) (void *s, int c, grub_size_t n);
+void GRUB_BUILTIN_ATTR EXPORT_FUNC (__bzero) (void *s, grub_size_t n);
 #endif
+
 #endif
 
 int EXPORT_FUNC(grub_memcmp) (const void *s1, const void *s2, grub_size_t n);