From: ths Date: Sat, 23 Dec 2006 00:49:32 +0000 (+0000) Subject: Use memory barriers in FORCE_RET / RETURN. X-Git-Tag: release_0_9_1~1622 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=8bf4dc7e2589dfba2d78bfd23510dee99737a8e7;p=qemu-xen-4.5-testing.git Use memory barriers in FORCE_RET / RETURN. --- diff --git a/dyngen-exec.h b/dyngen-exec.h index 0c392283d..2f3878561 100644 --- a/dyngen-exec.h +++ b/dyngen-exec.h @@ -188,7 +188,7 @@ extern int printf(const char *, ...); #endif /* force GCC to generate only one epilog at the end of the function */ -#define FORCE_RET() asm volatile (""); +#define FORCE_RET() __asm__ __volatile__("" : : : "memory"); #ifndef OPPROTO #define OPPROTO diff --git a/target-mips/exec.h b/target-mips/exec.h index 9e1fcdc00..e364d8a6f 100644 --- a/target-mips/exec.h +++ b/target-mips/exec.h @@ -45,9 +45,9 @@ register host_uint_t T2 asm(AREG3); #endif #if defined (DEBUG_OP) -#define RETURN() __asm__ __volatile__("nop"); +# define RETURN() __asm__ __volatile__("nop" : : : "memory"); #else -#define RETURN() __asm__ __volatile__(""); +# define RETURN() __asm__ __volatile__("" : : : "memory"); #endif #include "cpu.h" diff --git a/target-ppc/exec.h b/target-ppc/exec.h index 3ef0968bc..89171f9d3 100644 --- a/target-ppc/exec.h +++ b/target-ppc/exec.h @@ -38,9 +38,9 @@ register uint32_t T2 asm(AREG3); #define FT2 (env->ft2) #if defined (DEBUG_OP) -#define RETURN() __asm__ __volatile__("nop"); +# define RETURN() __asm__ __volatile__("nop" : : : "memory"); #else -#define RETURN() __asm__ __volatile__(""); +# define RETURN() __asm__ __volatile__("" : : : "memory"); #endif #include "cpu.h"