diff --git a/qemu-0.7.0-build.patch b/qemu-0.7.0-build.patch
index b169fb1..9eb4748 100644
--- a/qemu-0.7.0-build.patch
+++ b/qemu-0.7.0-build.patch
@@ -1,33 +1,5 @@
---- qemu-0.7.0/Makefile.orig	2005-04-27 21:52:05.000000000 +0100
-+++ qemu-0.7.0/Makefile	2005-04-30 11:01:41.000000000 +0100
-@@ -1,6 +1,6 @@
- -include config-host.mak
- 
--CFLAGS=-Wall -O2 -g -fno-strict-aliasing 
-+CFLAGS=$(subst -mtune=,-mcpu=,$(RPM_OPT_FLAGS)) -Wall -fno-strict-aliasing 
- ifdef CONFIG_DARWIN
- CFLAGS+= -mdynamic-no-pic
- endif
 --- qemu-0.7.0/Makefile.target.orig	2005-04-27 21:52:05.000000000 +0100
-+++ qemu-0.7.0/Makefile.target	2005-04-30 11:03:59.000000000 +0100
-@@ -14,7 +14,7 @@
- VPATH+=:$(SRC_PATH)/linux-user
- DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
- endif
--CFLAGS=-Wall -O2 -g -fno-strict-aliasing
-+CFLAGS=$(subst -mtune=,-mcpu=,$(RPM_OPT_FLAGS)) -Wall -fno-strict-aliasing 
- #CFLAGS+=-Werror
- LDFLAGS=-g
- LIBS=
-@@ -177,7 +177,7 @@
- ifeq ($(ARCH),alpha)
- # -msmall-data is not used because we want two-instruction relocations
- # for the constant constructions
--OP_CFLAGS=-Wall -O2 -g
-+OP_CFLAGS=$(subst -mtune=,-mcpu=,$(RPM_OPT_FLAGS)) -Wall
- # Ensure there's only a single GP
- CFLAGS += -msmall-data
- LDFLAGS+=-Wl,-T,$(SRC_PATH)/alpha.ld
++++ qemu-0.7.0/Makefile.target	2005-04-30 11:01:41.000000000 +0100
 @@ -463,7 +463,7 @@
  
  install: all 
diff --git a/qemu-0.8.0-sdata.patch b/qemu-0.8.0-sdata.patch
new file mode 100644
index 0000000..4b7e0df
--- /dev/null
+++ b/qemu-0.8.0-sdata.patch
@@ -0,0 +1,15 @@
+--- qemu-0.8.0/ppc.ld~	2005-12-19 22:51:53.000000000 +0000
++++ qemu-0.8.0/ppc.ld	2006-03-21 16:46:58.000000000 +0000
+@@ -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 = .;
diff --git a/qemu.spec b/qemu.spec
index 76ee023..23f54ae 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,7 +1,7 @@
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
 Version: 0.8.0
-Release: 3%{?dist}
+Release: 6%{?dist}
 
 License: GPL/LGPL
 Group: Development/Tools
@@ -9,8 +9,9 @@ URL: http://fabrice.bellard.free.fr/qemu
 Source0: http://www.qemu.org/%{name}-%{version}.tar.gz
 Source1: qemu.init
 Patch0: qemu-0.7.0-build.patch
+Patch1: qemu-0.8.0-sdata.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: SDL-devel compat-gcc-32
+BuildRequires: SDL-devel compat-gcc-32 zlib-devel
 PreReq: /sbin/chkconfig
 PreReq: /sbin/service
 ExclusiveArch: %{ix86} ppc alpha sparc armv4l x86_64
@@ -34,6 +35,7 @@ As QEMU requires no host kernel patches to run, it is very safe and easy to use.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 ./configure --prefix=%{_prefix} --interp-prefix=%{_prefix}/qemu-%%M \
@@ -78,6 +80,15 @@ fi
 %config %{_sysconfdir}/rc.d/init.d/qemu
 
 %changelog
+* Sat Mar 18 2006 David Woodhouse <dwmw2@infradead.org> 0.8.0-6
+- Update linker script for PPC
+
+* Sat Mar 18 2006 David Woodhouse <dwmw2@infradead.org> 0.8.0-5
+- Just drop $RPM_OPT_FLAGS. They're too much of a PITA
+
+* Sat Mar 18 2006 David Woodhouse <dwmw2@infradead.org> 0.8.0-4
+- Disable stack-protector options which gcc 3.2 doesn't like
+
 * Fri Mar 17 2006 David Woodhouse <dwmw2@infradead.org> 0.8.0-3
 - Use -mcpu= instead of -mtune= on x86_64 too
 - Disable SPARC targets on x86_64, because dyngen doesn't like fnegs