From 9432920327384beb50344ac2b31ea0df631169d0 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mar 21 2006 17:28:20 +0000 Subject: fix PPC linker script --- 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 0.8.0-6 +- Update linker script for PPC + +* Sat Mar 18 2006 David Woodhouse 0.8.0-5 +- Just drop $RPM_OPT_FLAGS. They're too much of a PITA + +* Sat Mar 18 2006 David Woodhouse 0.8.0-4 +- Disable stack-protector options which gcc 3.2 doesn't like + * Fri Mar 17 2006 David Woodhouse 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