diff options
Diffstat (limited to 'app-emulation/qemu-softmmu/files/qemu-0.8.0-gcc4-opts.patch')
-rw-r--r-- | app-emulation/qemu-softmmu/files/qemu-0.8.0-gcc4-opts.patch | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/app-emulation/qemu-softmmu/files/qemu-0.8.0-gcc4-opts.patch b/app-emulation/qemu-softmmu/files/qemu-0.8.0-gcc4-opts.patch deleted file mode 100644 index 4819dfb..0000000 --- a/app-emulation/qemu-softmmu/files/qemu-0.8.0-gcc4-opts.patch +++ /dev/null @@ -1,41 +0,0 @@ -2005-11-11 Gwenole Beauchesne <gbeauchesne@mandriva.com> - - * Globaaly save %ebx, %esi, %edi on entry to generated - function. This avoids some register spills in synthetic opcodes. - NOTE: this also easily fixes gcc4 compiled qemu-system-x86_64 on x86. - -Index: qemu-0.8.1/Makefile.target -=================================================================== ---- qemu-0.8.1.orig/Makefile.target -+++ qemu-0.8.1/Makefile.target -@@ -68,6 +68,10 @@ OP_CFLAGS+= -falign-functions=0 -fno-gcs - else - OP_CFLAGS+= -malign-functions=0 - endif -+ifeq ($(TARGET_ARCH), x86_64) -+# XXX globally save %ebx, %esi, %edi on entry to generated function -+OP_CFLAGS+= -fcall-used-ebx -fcall-used-esi -fcall-used-edi -+endif - - ifdef TARGET_GPROF - USE_I386_LD=y -Index: qemu-0.8.1/cpu-exec.c -=================================================================== ---- qemu-0.8.1.orig/cpu-exec.c -+++ qemu-0.8.1/cpu-exec.c -@@ -677,6 +677,15 @@ int cpu_exec(CPUState *env1) - : /* no outputs */ - : "r" (gen_func) - : "r1", "r2", "r3", "r8", "r9", "r10", "r12", "r14"); -+#elif defined(TARGET_X86_64) && defined(__i386__) -+ asm volatile ("push %%ebx\n" -+ "push %%esi\n" -+ "push %%edi\n" -+ "call *%0\n" -+ "pop %%edi\n" -+ "pop %%esi\n" -+ "pop %%ebx\n" -+ : : "r" (gen_func) : "ebx", "esi", "edi"); - #elif defined(TARGET_I386) && defined(USE_CODE_COPY) - { - if (!(tb->cflags & CF_CODE_COPY)) { |