fix PPC linker script

This commit is contained in:
David Woodhouse 2006-03-21 17:28:20 +00:00
parent 9f8ef0cfab
commit 9432920327
3 changed files with 29 additions and 31 deletions

View File

@ -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

15
qemu-0.8.0-sdata.patch Normal file
View File

@ -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 = .;

View File

@ -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