[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#598145: unblock: mednafen/0.8.D.3-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: freeze-exception


Please unblock package mednafen; the latest version in unstable fixes
a memory leak. I'm attaching the full diff between 0.8.D-1 (the
version currently in testing) and 0.8.D.3-1 (the version in unstable),
I believe it's reasonably short and easy to read; the only changes are
some assembly fixes (for Mac OS X), gcc-4.5 build fixes, the memory
leak, and an added dependency on libjack-dev.

The changelog is as follows:

mednafen (0.8.D.3-1) unstable; urgency=low

  * New upstream version, fixing a significant memory leak.

 -- Stephen Kitt <steve@sk2.org>  Fri, 17 Sep 2010 07:18:16 +0200

mednafen (0.8.D.2-1) unstable; urgency=low

  * New upstream version.
  * Standards-Version 3.9.1, no change required.
  * Add build dependency on libjack-dev.

 -- Stephen Kitt <steve@sk2.org>  Thu, 05 Aug 2010 08:35:19 +0200

(I uploaded 0.8.D.3-1 to unstable rather than experimental because
0.8.D.2-1 was already in unstable, having been prepared just before
the freeze. I hadn't requested an exception then because the changes
in 0.8.D.1 and 0.8.D.2 don't affect the Debian package, at least not
for Squeeze.)

Regards,

Stephen


unblock mednafen/0.8.D.3-1

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (200, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.35-trunk-686-bigmem (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff --git a/ChangeLog b/ChangeLog
index 2720f6c..90f3510 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+0.8.D.3:
+        Fixed a significant memory leak in the video output code(the leak would increase every time fullscreen is toggled
+        while Mednafen is running).
+
+0.8.D.2:
+        NES: Fixed a crash on certain x86_64 platforms(Mac OS X), due to the sound filtering code dereferencing 32-bit registers instead of 64-bit registers as
+        it should have.
+
+0.8.D.1:
+	Fixed a compilation error on gcc 4.5(thanks to hanno for pointing it out).
+
 0.8.D:
 	SMS:  Some state that wasn't being saved in save states now is, which should fix netplay desynch problems with SMS/GG games.
 
diff --git a/configure b/configure
index 643cd45..b94a128 100755
--- a/configure
+++ b/configure
@@ -4294,7 +4294,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
 
 
 
-MEDNAFEN_VERSION='0.8.D'
+MEDNAFEN_VERSION='0.8.D.3'
 MEDNAFEN_VERSION_NUMERIC=0x00080D
 
 ac_aux_dir=
diff --git a/configure.ac b/configure.ac
index 3153081..9709c6c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_INIT([src/mednafen.cpp])
 AC_GNU_SOURCE
 AC_USE_SYSTEM_EXTENSIONS
 
-MEDNAFEN_VERSION='0.8.D'
+MEDNAFEN_VERSION='0.8.D.3'
 MEDNAFEN_VERSION_NUMERIC=0x00080D
 
 AC_CANONICAL_HOST
diff --git a/debian/changelog b/debian/changelog
index ecf2aea..568597f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+mednafen (0.8.D.3-1) unstable; urgency=low
+
+  * New upstream version, fixing a significant memory leak.
+
+ -- Stephen Kitt <steve@sk2.org>  Fri, 17 Sep 2010 07:18:16 +0200
+
+mednafen (0.8.D.2-1) unstable; urgency=low
+
+  * New upstream version.
+  * Standards-Version 3.9.1, no change required.
+  * Add build dependency on libjack-dev.
+
+ -- Stephen Kitt <steve@sk2.org>  Thu, 05 Aug 2010 08:35:19 +0200
+
 mednafen (0.8.D-1) unstable; urgency=low
 
   * New upstream version.
diff --git a/debian/control b/debian/control
index a88d391..2d84e76 100644
--- a/debian/control
+++ b/debian/control
@@ -3,8 +3,13 @@ Section: games
 Priority: optional
 Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
 Uploaders: Stephen Kitt <steve@sk2.org>
-Build-Depends: debhelper (>= 5), autotools-dev, x11proto-core-dev, libgl1-mesa-dev | libgl-dev, zlib1g-dev | libz-dev, libsdl1.2-dev, libsamplerate0-dev, libsdl-net1.2-dev, libcdio-dev, libsndfile1-dev | libsndfile-dev, libasound2-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386]
-Standards-Version: 3.8.4
+Build-Depends: debhelper (>= 5), autotools-dev, x11proto-core-dev,
+ libgl1-mesa-dev | libgl-dev, zlib1g-dev | libz-dev, libsdl1.2-dev,
+ libsamplerate0-dev, libsdl-net1.2-dev, libcdio-dev,
+ libsndfile1-dev | libsndfile-dev,
+ libasound2-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386],
+ libjack-dev
+Standards-Version: 3.9.1
 Homepage: http://mednafen.sourceforge.net
 Vcs-Git: git://git.debian.org/git/pkg-games/mednafen.git
 Vcs-Browser: http://git.debian.org/?p=pkg-games/mednafen.git
diff --git a/src/drivers/video.cpp b/src/drivers/video.cpp
index a6af6bc..a73e6f5 100644
--- a/src/drivers/video.cpp
+++ b/src/drivers/video.cpp
@@ -169,6 +169,12 @@ void KillVideo(void)
   HelpSurface = NULL;
  }
 
+ if(NetSurface)
+ {
+  SDL_FreeSurface(NetSurface);
+  NetSurface = NULL;
+ }
+
  if(cur_flags & SDL_OPENGL)
   KillOpenGL();
 
diff --git a/src/nes/sound/filter-amd64-mmx.h b/src/nes/sound/filter-amd64-mmx.h
index 56846d8..105846e 100644
--- a/src/nes/sound/filter-amd64-mmx.h
+++ b/src/nes/sound/filter-amd64-mmx.h
@@ -23,20 +23,20 @@
 	                               + (dst[48-63] * src[48-63]);
 
 		*/
-		"movq (%%edi), %%mm0\n\t"
-		"pmaddwd (%%esi), %%mm0\n\t"
+		"movq (%%rdi), %%mm0\n\t"
+		"pmaddwd (%%rsi), %%mm0\n\t"
 
-		"movq 8(%%edi), %%mm2\n\t"
-		"pmaddwd 8(%%esi), %%mm2\n\t"
+		"movq 8(%%rdi), %%mm2\n\t"
+		"pmaddwd 8(%%rsi), %%mm2\n\t"
 
-                "movq 16(%%edi), %%mm3\n\t"
-		"pmaddwd 16(%%esi), %%mm3\n\t"
+                "movq 16(%%rdi), %%mm3\n\t"
+		"pmaddwd 16(%%rsi), %%mm3\n\t"
 
-                "movq 24(%%edi), %%mm4\n\t"
-                "pmaddwd 24(%%esi), %%mm4\n\t"
+                "movq 24(%%rdi), %%mm4\n\t"
+                "pmaddwd 24(%%rsi), %%mm4\n\t"
 
-                "addl $32, %%edi\n\t"
-		"addl $32, %%esi\n\t" 
+                "add $32, %%rdi\n\t"
+		"add $32, %%rsi\n\t" 
 		"paddd %%mm0, %%mm1\n\t"
 		"paddd %%mm2, %%mm1\n\t"
 		"decl %%ecx\n\t"
@@ -44,12 +44,12 @@
 		"paddd %%mm4, %%mm1\n\t"
 		"jnz frup_mmx"FILTMMX_SKIP_ADD_STR"\n\t"
 
-                "movd %%mm1, (%%eax)\n\t"
-                "subl $512, %%edi\n\t"
-                "subl $512, %%esi\n\t"
+                "movd %%mm1, (%%rax)\n\t"
+                "sub $512, %%rdi\n\t"
+                "sub $512, %%rsi\n\t"
 
-                "addl $4, %%eax\n\t"
-                "addl %%edx, %%edi\n\t"
+                "add $4, %%rax\n\t"
+                "add %%rdx, %%rdi\n\t"
                 "decl %%ebp\n\t"
                 "jnz bigloop_mmx"FILTMMX_SKIP_ADD_STR"\n\t"
 
@@ -60,13 +60,13 @@
 
 		"convmmx"FILTMMX_SKIP_ADD_STR":\n\t"
 
-		"movl (%%eax), %%ebp\n\t"
+		"movl (%%rax), %%ebp\n\t"
 		"sarl $15, %%ebp\n\t"
 		#ifndef FILTMMX_SKIP_ADD
 		"addl $32767, %%ebp\n\t"
 		#endif
-		"movl %%ebp, (%%eax)\n\t"
-		"addl $4, %%eax\n\t"
+		"movl %%ebp, (%%rax)\n\t"
+		"add $4, %%rax\n\t"
 		"decl %%ecx\n\t"
 		"jnz convmmx"FILTMMX_SKIP_ADD_STR"\n\t"
 		"pop %%rbp\n\t"
diff --git a/src/pcfx/soundbox.cpp b/src/pcfx/soundbox.cpp
index 12ae1db..0cecbe9 100644
--- a/src/pcfx/soundbox.cpp
+++ b/src/pcfx/soundbox.cpp
@@ -416,7 +416,7 @@ void SoundBox_SetKINGADPCMControl(uint32 value)
   int rolloff = (int)((double)0.90 * 21477272 * 2 / 1365 / (1 << SampleFreq) ) / 2;
   for(int ch = 0; ch < 2; ch++)
    for(int lr = 0; lr < 2; lr++)
-    ADPCMSynth[ch][lr].treble_eq(blip_eq_t::blip_eq_t(-1000, rolloff, FSettings.SndRate));
+    ADPCMSynth[ch][lr].treble_eq(blip_eq_t(-1000, rolloff, FSettings.SndRate));
   LSampleFreq = SampleFreq;
  }
 }

Reply to: