diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-08-21 15:19:36 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-08-21 15:19:36 +0000 |
commit | 75913b727e2702b7ee3099c0388502778554f681 (patch) | |
tree | cc8f761537087a4b98ae2d95694b75da3c32cc57 /exec-all.h | |
parent | ecada8a2dddff7b0382e35b9ffe5643ed895a7f4 (diff) |
compilation fix for gcc3.4 on win32 (Paul Brook)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1557 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'exec-all.h')
-rw-r--r-- | exec-all.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/exec-all.h b/exec-all.h index 0f7921465a..33780660fe 100644 --- a/exec-all.h +++ b/exec-all.h @@ -320,13 +320,16 @@ TranslationBlock *tb_find_pc(unsigned long pc_ptr); #define ASM_PREVIOUS_SECTION ".previous\n" #endif +#define ASM_OP_LABEL_NAME(n, opname) \ + ASM_NAME(__op_label) #n "." ASM_NAME(opname) + #if defined(__powerpc__) /* we patch the jump instruction directly */ #define GOTO_TB(opname, tbparam, n)\ do {\ asm volatile (ASM_DATA_SECTION\ - ASM_NAME(__op_label) #n "." ASM_NAME(opname) ":\n"\ + ASM_OP_LABEL_NAME(n, opname) ":\n"\ ".long 1f\n"\ ASM_PREVIOUS_SECTION \ "b " ASM_NAME(__op_jmp) #n "\n"\ @@ -339,7 +342,7 @@ do {\ #define GOTO_TB(opname, tbparam, n)\ do {\ asm volatile (".section .data\n"\ - ASM_NAME(__op_label) #n "." ASM_NAME(opname) ":\n"\ + ASM_OP_LABEL_NAME(n, opname) ":\n"\ ".long 1f\n"\ ASM_PREVIOUS_SECTION \ "jmp " ASM_NAME(__op_jmp) #n "\n"\ @@ -353,7 +356,8 @@ do {\ #define GOTO_TB(opname, tbparam, n)\ do {\ static void __attribute__((unused)) *dummy ## n = &&dummy_label ## n;\ - static void __attribute__((unused)) *__op_label ## n = &&label ## n;\ + static void __attribute__((unused)) *__op_label ## n \ + __asm__(ASM_OP_LABEL_NAME(n, opname)) = &&label ## n;\ goto *(void *)(((TranslationBlock *)tbparam)->tb_next[n]);\ label ## n: ;\ dummy_label ## n: ;\ |