I just used svn to get the info.... looks like Marcus had them fix this in rev.3535 on february 4th...!
good job Marcus, you fixed this 6.5 months ago! I guess we just need this in pygame now... (I like the idea of a 1.8.2 that uses a custom patched SDL 1.2.13 for the windows installer....) svn output follows.... > svn log http://svn.libsdl.org/branches/SDL-1.2/include/SDL_stdinc.h ------------------------------------------------------------------------ r3535 | icculus | 2008-02-04 09:22:56 -0800 (Mon, 04 Feb 2008) | 22 lines Date: Sat, 2 Feb 2008 22:08:05 +0100 From: Marcus von Appen To: [EMAIL PROTECTED] Subject: [SDL] [Patch] SDL-1.2 SDL_revcpy() asm patch for the cld flag Hi, as reported through the FreeBSD bug tracking system in SDL 1.2.13 (and in the 1.2 branch, if I see that correctly) the SDL_revcpy() macro sets the direction flag (std), but does not clear it afterwards (cld), which is wrong according to the GCC and SYS V specs. This can cause some weird side effects, which in turn can lead to memory corruption. You can read the full report with a detailed description and test program at http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120052 Attached is the submitted patch, which fixes the issue. Regards Marcus ---------------------------------------------------------------------------------------------- <other revisions follow....> On Tue, Aug 19, 2008 at 4:37 PM, Lenard Lindstrom <[EMAIL PROTECTED]> wrote: > Hi Brian, > > Well that answers the question when it was fixed. The libsdl SVN viewer is > down at the moment so I can't get the message associated with the bug fix. I > can't find the associated bug entry in the SDL bug tracker. I would like to > know if it was a known issue or just something someone noticed while doing > something else. If it had been reported and I had thought to look for it in > the bug tracker it could have saved a lot of time. > > Lenard > > > Brian Fisher wrote: > >> to confirm, looks like it is fixed in SDL 1.2 SVN: >> http://svn.libsdl.org/branches/SDL-1.2/include/SDL_stdinc.h >> >> somebody added a cld after the rep movsl >> >> however it is definitely _not_ fixed in 1.2.13 though (you can see from >> the source archive: http://libsdl.org/release/SDL-1.2.13.zip ) , meaning >> it won't be fixed until SDL 1.2.14 is released.. >> >> On Tue, Aug 19, 2008 at 2:24 PM, Lenard Lindstrom <[EMAIL PROTECTED]<mailto: >> [EMAIL PROTECTED]>> wrote: >> >> I believe I found the bug. And it was already fixed for SDL 1.3 (I >> cannot confirm it is also fixed for 1.2.13 in SVN since the site >> is down.) There should be a licensing requirement to do assembly >> level programming :-). The optimized reverse blit uses an i386 >> string move instruction. The direction of the copy is controlled >> by a register flag. A cleared flag causes a forward copy, the data >> pointers are incremented. A set flag causes a reverse copy, >> decrementing data pointers. The flag was set by the SDL copy code, >> but not cleared afterwards. And the flag doesn't reset itself >> apparently. So the set flag sat there like an armed bomb until the >> next string copy instruction was executed. >> >> Lenard >> >> >> >> Lenard Lindstrom wrote: >> >> >> That seems to be it. Try out the modified SDL.dll for Pythons >> 2.4. and 2.5: >> >> http://www3.telus.net/len_l/pygame/SDL-self-blit.zip >> >> md5sum: >> 59a283f9383d6b5512c236d98e39c97b *SDL-self-blit.zip >> >> Lenard >> >> >> Lenard Lindstrom wrote: >> >> >> I will. But it will be hand-customized. >> >> Lenard >> >> >> Brian Fisher wrote: >> >> Hey Lenard, >> Can you build SDL with mingw in a way that the inlined >> assembly won't be used? (i.e. so that it uses the same >> source that VisualC does to build) >> >> >> >> >> >> >