Author: jwrdegoede
Update of /cvs/free/rpms/SheepShaver/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv29305
Modified Files:
.cvsignore SheepShaver-2.2-nostrip.patch SheepShaver.spec
sources
Added Files:
SheepShaver-2.3-gcc43.patch
Log Message:
* Sat Oct 18 2008 Hans de Goede <j.w.r.degoede(a)hhs.nl> - 2.3-0.5.20060514
- Updated release of cxmon to 3.2
- Fix compilation with gcc-4.3 (tricky, esp. on x86_64)
- Regenerate Patch0, nuke _default_patch_fuzz 2
- Fixup desktop file Categories, so that we show up under the Emulators menu
- Make rpmlint like this package
- Add missing libXxf86dga-devel, libXxf86vm-devel BuildRequires
SheepShaver-2.3-gcc43.patch:
--- NEW FILE SheepShaver-2.3-gcc43.patch ---
diff -up SheepShaver-2.3/src/Unix/sys_unix.cpp~ SheepShaver-2.3/src/Unix/sys_unix.cpp
--- SheepShaver-2.3/src/Unix/sys_unix.cpp~ 2008-10-18 21:38:50.000000000 +0200
+++ SheepShaver-2.3/src/Unix/sys_unix.cpp 2008-10-18 21:38:50.000000000 +0200
@@ -23,6 +23,7 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <errno.h>
+#include <limits.h>
#ifdef HAVE_AVAILABILITYMACROS_H
#include <AvailabilityMacros.h>
diff -up SheepShaver-2.3/src/Unix/sigsegv.cpp~ SheepShaver-2.3/src/Unix/sigsegv.cpp
--- SheepShaver-2.3/src/Unix/sigsegv.cpp~ 2008-10-18 23:10:53.000000000 +0200
+++ SheepShaver-2.3/src/Unix/sigsegv.cpp 2008-10-18 23:10:53.000000000 +0200
@@ -2293,7 +2293,8 @@ int main(void)
#define TEST_SKIP_INSTRUCTION(TYPE) do { \
const unsigned long TAG = 0x12345678 | \
(sizeof(long) == 8 ? 0x9abcdef0UL << 31 : 0); \
- TYPE data = *((TYPE *)(page + sizeof(TYPE))); \
+ volatile TYPE data = 0; \
+ data = *((TYPE *)(page + sizeof(TYPE))); \
volatile unsigned long effect = data + TAG; \
if (effect != TAG) \
return 9; \
diff -up SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp~
SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp
--- SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp~ 2008-10-18 21:57:15.000000000
+0200
+++ SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.cpp 2008-10-18 21:57:15.000000000
+0200
@@ -256,7 +256,7 @@ void powerpc_cpu::initialize()
// Initialize block lookup table
#if PPC_DECODE_CACHE || PPC_ENABLE_JIT
- block_cache.initialize();
+ blockcache.initialize();
#endif
// Init cache range invalidate recorder
@@ -540,7 +540,7 @@ void *powerpc_cpu::compile_chain_block(b
const uint32 bpc = sbi->pc;
const uint32 tpc = sbi->li[n].jmp_pc;
- block_info *tbi = block_cache.find(tpc);
+ block_info *tbi = blockcache.find(tpc);
if (tbi == NULL)
tbi = compile_block(tpc);
assert(tbi && tbi->pc == tpc);
@@ -562,7 +562,7 @@ void powerpc_cpu::execute(uint32 entry)
if (execute_depth == 1 || (PPC_ENABLE_JIT && PPC_REENTRANT_JIT)) {
#if PPC_ENABLE_JIT
if (use_jit) {
- block_info *bi = block_cache.find(pc());
+ block_info *bi = blockcache.find(pc());
if (bi == NULL)
bi = compile_block(pc());
for (;;) {
@@ -585,7 +585,7 @@ void powerpc_cpu::execute(uint32 entry)
// Don't check for backward branches here as this
// is now done by generated code. Besides, we will
// get here if the fast cache lookup failed too.
- if ((bi = block_cache.find(pc())) == NULL)
+ if ((bi = blockcache.find(pc())) == NULL)
break;
}
@@ -596,7 +596,7 @@ void powerpc_cpu::execute(uint32 entry)
}
#endif
#if PPC_DECODE_CACHE
- block_info *bi = block_cache.find(pc());
+ block_info *bi = blockcache.find(pc());
if (bi != NULL)
goto pdi_execute;
for (;;) {
@@ -606,7 +606,7 @@ void powerpc_cpu::execute(uint32 entry)
clock_t start_time;
start_time = clock();
#endif
- bi = block_cache.new_blockinfo();
+ bi = blockcache.new_blockinfo();
bi->init(pc());
// Predecode a new block
@@ -656,8 +656,8 @@ void powerpc_cpu::execute(uint32 entry)
bi->min_pc = dpc;
bi->max_pc = entry;
bi->size = di - bi->di;
- block_cache.add_to_cl_list(bi);
- block_cache.add_to_active_list(bi);
+ blockcache.add_to_cl_list(bi);
+ blockcache.add_to_active_list(bi);
decode_cache_p += bi->size;
#if PPC_PROFILE_COMPILE_TIME
compile_time += (clock() - start_time);
@@ -691,7 +691,7 @@ void powerpc_cpu::execute(uint32 entry)
}
}
- if ((bi->pc != pc()) && ((bi = block_cache.find(pc())) == NULL))
+ if ((bi->pc != pc()) && ((bi = blockcache.find(pc())) == NULL))
break;
}
}
@@ -767,8 +767,8 @@ void powerpc_cpu::invalidate_cache()
{
D(bug("Invalidate all cache blocks\n"));
#if PPC_DECODE_CACHE || PPC_ENABLE_JIT
- block_cache.clear();
- block_cache.initialize();
+ blockcache.clear();
+ blockcache.initialize();
spcflags().set(SPCFLAG_JIT_EXEC_RETURN);
#endif
#if PPC_ENABLE_JIT
@@ -811,6 +811,6 @@ void powerpc_cpu::invalidate_cache_range
}
#endif
spcflags().set(SPCFLAG_JIT_EXEC_RETURN);
- block_cache.clear_range(start, end);
+ blockcache.clear_range(start, end);
#endif
}
diff -up SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp~
SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp
--- SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp~ 2008-10-18 21:57:24.000000000
+0200
+++ SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-cpu.hpp 2008-10-18 21:57:24.000000000
+0200
@@ -360,7 +360,7 @@ private:
// Block lookup table
typedef powerpc_block_info block_info;
- block_cache< block_info, lazy_allocator > block_cache;
+ block_cache< block_info, lazy_allocator > blockcache;
#if PPC_DECODE_CACHE
// Decode Cache
diff -up SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp~
SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp
--- SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp~ 2008-10-18
21:58:04.000000000 +0200
+++ SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp 2008-10-18
21:59:27.000000000 +0200
@@ -96,7 +96,7 @@ struct powerpc_dyngen_helper {
static uint64 & fp_result_dw() { return CPU->fp_result_dw(); }
static inline void set_cr(int crfd, int v) { CPU->cr().set(crfd, v); }
- static inline powerpc_block_info *find_block(uint32 pc) { return
CPU->block_cache.fast_find(pc); }
+ static inline powerpc_block_info *find_block(uint32 pc) { return
CPU->blockcache.fast_find(pc); }
};
// Semantic action templates
@@ -1268,13 +1268,13 @@ static inline void do_lmw(void)
}
template<>
-static inline void do_lmw<31>(void)
+inline void do_lmw<31>(void)
{
CPU->gpr(31) = vm_read_memory_4(T0);
}
template<>
-static inline void do_lmw<32>(void)
+inline void do_lmw<32>(void)
{
for (uint32 r = PARAM1, ad = T0; r <= 31; r++, ad += 4)
CPU->gpr(r) = vm_read_memory_4(ad);
@@ -1290,13 +1290,13 @@ static inline void do_stmw(void)
}
template<>
-static inline void do_stmw<31>(void)
+inline void do_stmw<31>(void)
{
vm_write_memory_4(T0, CPU->gpr(31));
}
template<>
-static inline void do_stmw<32>(void)
+inline void do_stmw<32>(void)
{
for (uint32 r = PARAM1, ad = T0; r <= 31; r++, ad += 4)
vm_write_memory_4(ad, CPU->gpr(r));
diff -up SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp~
SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp
--- SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp~ 2008-10-18
22:00:22.000000000 +0200
+++ SheepShaver-2.3/src/kpx_cpu/src/cpu/ppc/ppc-translate.cpp 2008-10-18
22:00:22.000000000 +0200
@@ -143,7 +143,7 @@ powerpc_cpu::compile_block(uint32 entry_
codegen_context_t cg_context(dg);
cg_context.entry_point = entry_point;
again:
- block_info *bi = block_cache.new_blockinfo();
+ block_info *bi = blockcache.new_blockinfo();
bi->init(entry_point);
bi->entry_point = dg.gen_start();
@@ -1570,11 +1570,11 @@ powerpc_cpu::compile_block(uint32 entry_
#endif
dg.gen_end();
- block_cache.add_to_cl_list(bi);
+ blockcache.add_to_cl_list(bi);
if (is_read_only_memory(bi->pc))
- block_cache.add_to_dormant_list(bi);
+ blockcache.add_to_dormant_list(bi);
else
- block_cache.add_to_active_list(bi);
+ blockcache.add_to_active_list(bi);
#if PPC_PROFILE_COMPILE_TIME
compile_time += (clock() - start_time);
#endif
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/SheepShaver/devel/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 18 Oct 2008 14:04:25 -0000 1.2
+++ .cvsignore 18 Oct 2008 21:18:42 -0000 1.3
@@ -1,3 +1,3 @@
-cxmon-3.1.tar.gz
+cxmon-3.2.tar.gz
SheepShaver-2.3-0.20060514.1.tar.bz2
SheepShaver.png
SheepShaver-2.2-nostrip.patch:
Index: SheepShaver-2.2-nostrip.patch
===================================================================
RCS file: /cvs/free/rpms/SheepShaver/devel/SheepShaver-2.2-nostrip.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SheepShaver-2.2-nostrip.patch 18 Oct 2008 14:04:25 -0000 1.1
+++ SheepShaver-2.2-nostrip.patch 18 Oct 2008 21:18:42 -0000 1.2
@@ -1,7 +1,7 @@
-diff -Naupr SheepShaver-2.2.orig/src/Unix/Makefile.in
SheepShaver-2.2/src/Unix/Makefile.in
---- SheepShaver-2.2.orig/src/Unix/Makefile.in 2005-03-09 18:10:07.000000000 +0100
-+++ SheepShaver-2.2/src/Unix/Makefile.in 2005-04-02 21:15:26.000000000 +0200
-@@ -33,7 +33,7 @@ BLESS = @BLESS@
+diff -up SheepShaver-2.3/src/Unix/Makefile.in.nostrip
SheepShaver-2.3/src/Unix/Makefile.in
+--- SheepShaver-2.3/src/Unix/Makefile.in.nostrip 2006-05-08 19:19:45.000000000 +0200
++++ SheepShaver-2.3/src/Unix/Makefile.in 2008-10-18 21:37:07.000000000 +0200
+@@ -35,7 +35,7 @@ BLESS = @BLESS@
EXEEXT = @EXEEXT@
KEYCODES = @KEYCODES@
INSTALL = @INSTALL@
@@ -9,4 +9,4 @@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
- # Append disassembler to dyngen, if available
+ SLIRP_CFLAGS = @SLIRP_CFLAGS@
Index: SheepShaver.spec
===================================================================
RCS file: /cvs/free/rpms/SheepShaver/devel/SheepShaver.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SheepShaver.spec 18 Oct 2008 16:59:54 -0000 1.4
+++ SheepShaver.spec 18 Oct 2008 21:18:42 -0000 1.5
@@ -1,26 +1,24 @@
-%define _default_patch_fuzz 2
-
%define date 20060514
-%define mon_version 3.1
+%define mon_version 3.2
%define desktop_vendor rpmforge
Summary: Power Macintosh emulator
Name: SheepShaver
Version: 2.3
-Release: 0.4.%{date}%{?dist}
-License: GPL
+Release: 0.5.%{date}%{?dist}
+License: GPLv2+
Group: Applications/Emulators
URL:
http://www.gibix.net/projects/sheepshaver/
Source0:
http://www.gibix.net/projects/sheepshaver/files/SheepShaver-%{version}-0....
-Source1:
http://wwwthep.physik.uni-mainz.de/~cbauer/cxmon-%{mon_version}.tar.gz
+Source1:
http://cxmon.cebix.net/downloads/cxmon-%{mon_version}.tar.gz
Source2: SheepShaver.png
Patch0: SheepShaver-2.2-nostrip.patch
+Patch1: SheepShaver-2.3-gcc43.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: gcc-c++, gtk2-devel, esound-devel >= 0.2.8
BuildRequires: desktop-file-utils, readline-devel
%{?_with_sdl:BuildRequires: SDL-devel}
-BuildRequires: libXt-devel
-#BuildRequires: SDL-devel
+BuildRequires: libXt-devel, libXxf86dga-devel, libXxf86vm-devel
# Other archs need an instruction skipper on well-known invalid
# memory references (e.g. illegal writes to ROM).
ExclusiveArch: i386 ppc x86_64
@@ -40,8 +38,9 @@
%prep
-%setup -a 1
+%setup -q -a 1
%patch0 -p1 -b .nostrip
+%patch1 -p1 -b .gcc43
%build
@@ -50,7 +49,8 @@
--datadir=%{_sysconfdir} \
%{!?_without_mon: --with-mon=../../cxmon-%{mon_version}/src} \
%{?_with_sdl: --enable-sdl-video --enable-sdl-audio}
- %{__make} %{?_smp_mflags}
+%{__mkdir} obj
+%{__make} %{?_smp_mflags}
popd
@@ -58,6 +58,7 @@
%{__rm} -rf %{buildroot}
%makeinstall -C src/Unix \
datadir="%{buildroot}%{_sysconfdir}"
+chmod +x %{buildroot}%{_sysconfdir}/%{name}/tunconfig
# Create the system menu entry
%{__cat} > %{name}.desktop << EOF
@@ -68,8 +69,7 @@
Icon=SheepShaver.png
Terminal=false
Type=Application
-Categories=Application;Utility;
-Encoding=UTF-8
+Categories=Game;Emulator;
EOF
%{__mkdir_p} %{buildroot}%{_datadir}/applications
@@ -89,8 +89,8 @@
%defattr(-, root, root, 0755)
%doc COPYING NEWS doc/Linux/*
%dir %{_sysconfdir}/SheepShaver/
-%config %{_sysconfdir}/SheepShaver/keycodes
-%config %{_sysconfdir}/SheepShaver/tunconfig
+%config(noreplace) %{_sysconfdir}/SheepShaver/keycodes
+%{_sysconfdir}/SheepShaver/tunconfig
%{_bindir}/SheepShaver
%{_datadir}/pixmaps/SheepShaver.png
%{_datadir}/applications/%{desktop_vendor}-%{name}.desktop
@@ -98,7 +98,15 @@
%changelog
-* Sat Oct 18 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info -
2.3-0.4.20060514.fc7
+* Sat Oct 18 2008 Hans de Goede <j.w.r.degoede(a)hhs.nl> - 2.3-0.5.20060514
+- Updated release of cxmon to 3.2
+- Fix compilation with gcc-4.3 (tricky, esp. on x86_64)
+- Regenerate Patch0, nuke _default_patch_fuzz 2
+- Fixup desktop file Categories, so that we show up under the Emulators menu
+- Make rpmlint like this package
+- Add missing libXxf86dga-devel, libXxf86vm-devel BuildRequires
+
+* Sat Oct 18 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info -
2.3-0.4.20060514
- rebuild for RPM Fusion
- define _default_patch_fuzz 2
- ExclusiveArch: i386 instead of ix86 to prevent plague building this for
Index: sources
===================================================================
RCS file: /cvs/free/rpms/SheepShaver/devel/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sources 18 Oct 2008 14:04:25 -0000 1.2
+++ sources 18 Oct 2008 21:18:42 -0000 1.3
@@ -1,3 +1,3 @@
-1620e21161dba7c506b82353bf9ea483 cxmon-3.1.tar.gz
+8fb95c58f6c04eace6ae84d0c7b79ca1 cxmon-3.2.tar.gz
81904c06340fb8101800df864eacedcd SheepShaver-2.3-0.20060514.1.tar.bz2
22e17876d74a37e1a9f19d2150170cee SheepShaver.png