Author: belegdol
Update of /cvs/free/rpms/bsnes/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv8558
Modified Files:
bsnes.spec
Added Files:
bsnes-0.054-noppcelfppc64.patch libco.ppc-elf-2.diff
Removed Files:
bsnes-0.054-noppcelf.patch
Log Message:
* Wed Oct 28 2009 Julian Sikorski <belegdol[at]gmail[dot]com> - 0.054-2
- Fixed the ppc-elf issue properly
bsnes-0.054-noppcelfppc64.patch:
--- NEW FILE bsnes-0.054-noppcelfppc64.patch ---
diff -up bsnes-0.054/src/lib/libco/libco.c.noppcelfppc64
bsnes-0.054/src/lib/libco/libco.c
--- bsnes-0.054/src/lib/libco/libco.c.noppcelfppc64 2009-10-18 09:26:09.000000000 +0200
+++ bsnes-0.054/src/lib/libco/libco.c 2009-10-28 20:17:02.000000000 +0100
@@ -8,7 +8,7 @@
#include "x86.c"
#elif defined(__GNUC__) && defined(__amd64__)
#include "amd64.c"
-#elif defined(__GNUC__) && defined(__powerpc__) && defined(__ELF__)
+#elif defined(__GNUC__) && defined(__PPC32__) && defined(__ELF__)
#include "ppc-elf.c"
#elif defined(__GNUC__)
#include "sjlj.c"
libco.ppc-elf-2.diff:
--- NEW FILE libco.ppc-elf-2.diff ---
--- libco.orig/ppc-elf.c Sat Oct 10 22:11:16 2009
+++ libco/ppc-elf.c Wed Oct 28 12:30:19 2009
@@ -66,9 +66,15 @@
/*
* co_active_context is either in a global offset table (if we are
* compiling -fPIC or -fPIE) or has an absolute position.
+ *
+ * __attribute__((__used__)) is necessary because newer versions of
+ * gcc might replace co_active_context with an inline constant. This
+ * optimization would cause a linker error. This is because gcc cannot
+ * detect that our __asm__ uses co_active_context.
*/
static void *co_main_stack_pointer;
-static cothread_t co_active_context = &co_main_stack_pointer;
+static cothread_t co_active_context __attribute__((__used__)) =
+ &co_main_stack_pointer;
extern cothread_t co_active() {
return co_active_context;
Index: bsnes.spec
===================================================================
RCS file: /cvs/free/rpms/bsnes/F-10/bsnes.spec,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- bsnes.spec 21 Oct 2009 16:15:37 -0000 1.18
+++ bsnes.spec 28 Oct 2009 19:42:59 -0000 1.19
@@ -2,7 +2,7 @@
Name: bsnes
Version: 0.%{vernumber}
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: SNES emulator focused on accuracy
Group: Applications/Emulators
@@ -13,7 +13,8 @@
Source0: %{name}_v%{vernumber}.tar.bz2
Source2: README.bsnes
Patch0: bsnes-0.037a-strip.patch
-Patch1: bsnes-0.054-noppcelf.patch
+Patch1: libco.ppc-elf-2.diff
+Patch2: bsnes-0.054-noppcelfppc64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#bsnes does not use system snes_ntsc because the modified video processing
@@ -39,7 +40,10 @@
%prep
%setup -qc
%patch0 -p0 -b .strip
-%patch1 -p1 -b .noppcelf
+pushd src/lib/libco
+%patch1 -p1 -b .newppcelf
+popd
+%patch2 -p1 -b .noppcelfppc64
#fix permissions
find src -type f \( -name \*.cpp -or -name \*.hpp -or -name \*.h -or -name \*.c \) -exec
chmod 644 {} \;
@@ -79,6 +83,9 @@
%changelog
+* Wed Oct 28 2009 Julian Sikorski <belegdol[at]gmail[dot]com> - 0.054-2
+- Fixed the ppc-elf issue properly
+
* Wed Oct 21 2009 Julian Sikorski <belegdol[at]gmail[dot]com> - 0.054-1
- Updated to 0.054
- Disabled ppc-elf.c until we figure out why it does not build
--- bsnes-0.054-noppcelf.patch DELETED ---