cvs commit: ports/devel/sdl12/files patch-include_SDL_stdinc.h
Diane Bruce
db at FreeBSD.org
Sun Jan 27 13:37:57 PST 2008
db 2008-01-27 21:37:56 UTC
FreeBSD ports repository
Added files:
devel/sdl12/files patch-include_SDL_stdinc.h
Log:
- The x86 inline assembler version of the SDL macro SDL_revcpy() sets the
direction flag ("std"), but does not clear it ("cld"). This is invalid
according to GCC (inline assembler, which sets the direction flag,
must reset it[0]) and the SYS V ABI (functions must leave with the
direction flag cleared[1]). The macro is (indirectly, exact call
sequence below) used in SDL_BlitSurface(), so this call sometimes
returns with the direction flag set. This happens for bliting a surface
onto itself with the destination coordinates set right/down of the source
coordinates (typical use of this is scrolling left/up). Later on other
parts of the code (like inlined memcpy()) cause memory corruption. [1]
- Give maintaintership to submitter (as discussed on irc)
PR: ports/120052 [1]
Revision Changes Path
1.1 +10 -0 ports/devel/sdl12/files/patch-include_SDL_stdinc.h (new)
More information about the cvs-ports
mailing list