Package: release.debian.org Severity: normal User: release.debian....@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 <st...@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 <st...@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 <st...@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 <st...@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-de...@lists.alioth.debian.org> Uploaders: Stephen Kitt <st...@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; } }