rpms/bsnes/devel libco.ppc-elf-2.diff, NONE, 1.1 bsnes.spec, 1.21, 1.22 bsnes-0.054-noppcelf.patch, 1.1, NONE

Julian Sikorski belegdol at rpmfusion.org
Wed Oct 28 19:35:09 CET 2009


Author: belegdol

Update of /cvs/free/rpms/bsnes/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv4325

Modified Files:
	bsnes.spec 
Added Files:
	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


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/devel/bsnes.spec,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- bsnes.spec	21 Oct 2009 14:04:31 -0000	1.21
+++ bsnes.spec	28 Oct 2009 18:35:09 -0000	1.22
@@ -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,7 @@
 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
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 #bsnes does not use system snes_ntsc because the modified video processing
@@ -39,7 +39,9 @@
 %prep
 %setup -qc
 %patch0 -p0 -b .strip
+pushd src/lib/libco
 %patch1 -p1 -b .noppcelf
+popd
 
 #fix permissions
 find src -type f \( -name \*.cpp -or -name \*.hpp -or -name \*.h -or -name \*.c \) -exec chmod 644 {} \;
@@ -79,6 +81,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 ---



More information about the rpmfusion-commits mailing list