diff options
Diffstat (limited to 'app-emulation/qemu-user/files/qemu-0.8.0-stwbrx.patch')
-rw-r--r-- | app-emulation/qemu-user/files/qemu-0.8.0-stwbrx.patch | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/app-emulation/qemu-user/files/qemu-0.8.0-stwbrx.patch b/app-emulation/qemu-user/files/qemu-0.8.0-stwbrx.patch new file mode 100644 index 000000000000..b642702f48fc --- /dev/null +++ b/app-emulation/qemu-user/files/qemu-0.8.0-stwbrx.patch @@ -0,0 +1,15 @@ +diff -Nur qemu-0.8.0-old/cpu-all.h qemu-0.8.0/cpu-all.h +--- qemu-0.8.0-old/cpu-all.h 2006-04-21 23:45:55.000000000 +0200 ++++ qemu-0.8.0/cpu-all.h 2006-04-22 00:54:14.000000000 +0200 +@@ -250,7 +250,10 @@ + static inline void stl_le_p(void *ptr, int v) + { + #ifdef __powerpc__ +- __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*(uint32_t *)ptr) : "r" (v), "r" (ptr)); ++ __asm__ __volatile__ ("stwbrx %0,0,%1" ++ : /* no output registers */ ++ : "r" (v), "r" (ptr) /* copy v and ptr to registers */ ++ : "memory"); /* memory will be clobbered*/ + #else + uint8_t *p = ptr; + p[0] = v; |