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