Author: gb
Date: Sat Feb 17 18:06:37 2007
New Revision: 122176
Added:
packages/cooker/qemu/current/SOURCES/qemu-0.9.0-ppc.patch
Modified:
packages/cooker/qemu/current/SOURCES/qemu-0.8.3-gcc4.patch
packages/cooker/qemu/current/SPECS/qemu.spec
Log:
- various ppc32 fixes
Modified: packages/cooker/qemu/current/SOURCES/qemu-0.8.3-gcc4.patch
==============================================================================
--- packages/cooker/qemu/current/SOURCES/qemu-0.8.3-gcc4.patch (original)
+++ packages/cooker/qemu/current/SOURCES/qemu-0.8.3-gcc4.patch Sat Feb 17
18:06:37 2007
@@ -1,3 +1,9 @@
+2007-02-17 Gwenole Beauchesne <[EMAIL PROTECTED]>
+
+ * target-i386/op.c (op_imull_EAX_T0, op_imulw_T0_T1,
+ op_imull_T0_T1): Add FORCE_RET() since CC_SRC involves a
+ compare-branch that may be optimized into a beqlr on ppc.
+
2005-06-02 Gwenole Beauchesne <[EMAIL PROTECTED]>
* dyngen.c (trace_i386_insn): Fix push/imul case with 8-bit
@@ -870,3 +876,29 @@
"1:\n");\
} while (0)
+--- qemu-0.8.3/target-i386/op.c~ 2007-02-17 17:12:48.000000000 +0100
++++ qemu-0.8.3/target-i386/op.c 2007-02-17 17:48:46.000000000 +0100
+@@ -303,6 +303,7 @@
+ EDX = (uint32_t)(res >> 32);
+ CC_DST = res;
+ CC_SRC = (res != (int32_t)res);
++ FORCE_RET();
+ }
+
+ void OPPROTO op_imulw_T0_T1(void)
+@@ -312,6 +313,7 @@
+ T0 = res;
+ CC_DST = res;
+ CC_SRC = (res != (int16_t)res);
++ FORCE_RET();
+ }
+
+ void OPPROTO op_imull_T0_T1(void)
+@@ -321,6 +323,7 @@
+ T0 = res;
+ CC_DST = res;
+ CC_SRC = (res != (int32_t)res);
++ FORCE_RET();
+ }
+
+ #ifdef TARGET_X86_64
Added: packages/cooker/qemu/current/SOURCES/qemu-0.9.0-ppc.patch
==============================================================================
--- (empty file)
+++ packages/cooker/qemu/current/SOURCES/qemu-0.9.0-ppc.patch Sat Feb 17
18:06:37 2007
@@ -0,0 +1,26 @@
+--- qemu-0.9.0/ppc.ld.ppc 2005-06-05 17:57:04.000000000 +0200
++++ qemu-0.9.0/ppc.ld 2007-02-17 18:00:30.000000000 +0100
+@@ -2,8 +2,8 @@
+ * Written by Martin Mares <[EMAIL PROTECTED]>;
+ */
+ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
+-OUTPUT_ARCH(powerpc)
+-SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib);
SEARCH_DIR(/usr/alpha-unknown-linux-gnu/lib);
++OUTPUT_ARCH(powerpc:common)
++SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); SEARCH_DIR("/usr/local/lib");
+ ENTRY(_start)
+ SECTIONS
+ {
+@@ -90,7 +90,11 @@ SECTIONS
+ /* We want the small data sections together, so single-instruction offsets
+ can access them all, and initialized data all before uninitialized, so
+ we can shorten the on-disk segment size. */
+- .sdata : { *(.sdata) }
++ .sdata :
++ {
++ PROVIDE (_SDA_BASE_ = 32768);
++ *(.sdata .sdata.* .gnu.linkonce.s.*)
++ }
+ _edata = .;
+ PROVIDE (edata = .);
+ __bss_start = .;
Modified: packages/cooker/qemu/current/SPECS/qemu.spec
==============================================================================
--- packages/cooker/qemu/current/SPECS/qemu.spec (original)
+++ packages/cooker/qemu/current/SPECS/qemu.spec Sat Feb 17 18:06:37 2007
@@ -52,6 +52,7 @@
Patch13: qemu-0.8.1-fix-errno-tls.patch
Patch14: qemu-0.8.3-dont-strip.patch
Patch15: qemu-0.8.3-x86_64-opts.patch
+Patch16: qemu-0.9.0-ppc.patch
Patch100: kqemu-1.3.0pre10-kqemu-use-udev.patch
License: GPL
@@ -128,6 +129,7 @@
%patch13 -p1 -b .fix-errno-tls
%patch14 -p1 -b .dont-strip
%patch15 -p1 -b .x86_64-opts
+%patch16 -p1 -b .ppc
cd kqemu-%{kqemu_fullver}
%patch100 -p1 -b .kqemu-use-udev