summaryrefslogtreecommitdiff
path: root/dyngen-exec.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-09 00:39:12 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-09 00:39:12 +0000
commit9df8aa4abb62ae36404acc46286c3706e05d086f (patch)
treecfc963807194b1a6eb33de739e90a3bfa815595f /dyngen-exec.h
parentae063a68dc39f2ee1c87ea2a41c468ba7256acbb (diff)
downloadqemu-9df8aa4abb62ae36404acc46286c3706e05d086f.tar.gz
qemu-9df8aa4abb62ae36404acc46286c3706e05d086f.tar.bz2
qemu-9df8aa4abb62ae36404acc46286c3706e05d086f.zip
win32 fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1208 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'dyngen-exec.h')
-rw-r--r--dyngen-exec.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/dyngen-exec.h b/dyngen-exec.h
index 62bcbf33b5..2bf6922304 100644
--- a/dyngen-exec.h
+++ b/dyngen-exec.h
@@ -209,16 +209,22 @@ extern int __op_param1, __op_param2, __op_param3;
extern int __op_jmp0, __op_jmp1, __op_jmp2, __op_jmp3;
+#if defined(_WIN32)
+#define ASM_NAME(x) "_" #x
+#else
+#define ASM_NAME(x) #x
+#endif
+
#ifdef __i386__
#define EXIT_TB() asm volatile ("ret")
-#define GOTO_LABEL_PARAM(n) asm volatile ("jmp __op_gen_label" #n)
+#define GOTO_LABEL_PARAM(n) asm volatile ("jmp " ASM_NAME(__op_gen_label) #n)
#endif
#ifdef __x86_64__
#define EXIT_TB() asm volatile ("ret")
#endif
#ifdef __powerpc__
#define EXIT_TB() asm volatile ("blr")
-#define GOTO_LABEL_PARAM(n) asm volatile ("b __op_gen_label" #n)
+#define GOTO_LABEL_PARAM(n) asm volatile ("b " ASM_NAME(__op_gen_label) #n)
#endif
#ifdef __s390__
#define EXIT_TB() asm volatile ("br %r14")