summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch15
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;