diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-12-23 00:49:32 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-12-23 00:49:32 +0000 |
commit | 70ead4341212ecb3181d5c780284cef0fc7b51fc (patch) | |
tree | 18a3130f15211d95b66e319eec1aab7a929f8d1b | |
parent | 5bf089345be113089881163914a4d448f5365480 (diff) |
Use memory barriers in FORCE_RET / RETURN.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2273 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | dyngen-exec.h | 2 | ||||
-rw-r--r-- | target-mips/exec.h | 4 | ||||
-rw-r--r-- | target-ppc/exec.h | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/dyngen-exec.h b/dyngen-exec.h index 0c392283d4..2f3878561c 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 9e1fcdc000..e364d8a6fc 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 3ef0968bc3..89171f9d3f 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" |