[glib] valgrind.h: add "r0" to the clobber list on PPC



commit 6c8600b2b86fe42edd6d6e9648a92f32e404457c
Author: Ryan Lortie <desrt desrt ca>
Date:   Wed Nov 20 16:57:26 2013 -0500

    valgrind.h: add "r0" to the clobber list on PPC
    
    Looks like the magic sequences trash this register, so make sure GCC
    knows that.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710983

 glib/valgrind.h |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/glib/valgrind.h b/glib/valgrind.h
index cc2cf3d..7bb1382 100644
--- a/glib/valgrind.h
+++ b/glib/valgrind.h
@@ -442,7 +442,7 @@ typedef
                      "mr %0,3"     /*result*/                     \
                      : "=b" (_zzq_result)                         \
                      : "b" (_zzq_default), "b" (_zzq_ptr)         \
-                     : "cc", "memory", "r3", "r4");               \
+                     : "cc", "memory", "r3", "r4", "r0");         \
     _zzq_result;                                                  \
     })
 
@@ -455,7 +455,7 @@ typedef
                      "mr %0,3"                                    \
                      : "=b" (__addr)                              \
                      :                                            \
-                     : "cc", "memory", "r3"                       \
+                     : "cc", "memory", "r3", "r0"                 \
                     );                                            \
     _zzq_orig->nraddr = __addr;                                   \
   }
@@ -504,7 +504,7 @@ typedef
                      "mr %0,3"     /*result*/                     \
                      : "=b" (_zzq_result)                         \
                      : "b" (_zzq_default), "b" (_zzq_ptr)         \
-                     : "cc", "memory", "r3", "r4");               \
+                     : "cc", "memory", "r3", "r4", "r0");         \
     _zzq_result;                                                  \
   })
 
@@ -517,7 +517,7 @@ typedef
                      "mr %0,3"                                    \
                      : "=b" (__addr)                              \
                      :                                            \
-                     : "cc", "memory", "r3"                       \
+                     : "cc", "memory", "r3", "r0"                 \
                     );                                            \
     _zzq_orig->nraddr = __addr;                                   \
     __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
@@ -526,7 +526,7 @@ typedef
                      "mr %0,3"                                    \
                      : "=b" (__addr)                              \
                      :                                            \
-                     : "cc", "memory", "r3"                       \
+                     : "cc", "memory", "r3", "r0"                 \
                     );                                            \
     _zzq_orig->r2 = __addr;                                       \
   }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]