# HG changeset patch # User Ryan C. Gordon # Date 1136445612 0 # Node ID f4a3a4129d0459a17a19d6f7eb0fad67cdd06778 # Parent 3202d727bb4b444315c444631daa10d3452ddb07 From Mike Frysinger and/or Gentoo: - libsdl-SDL_stretch-PIC.patch ignoring the general fact of how SDL_stretch relies on executing dynamic code, the inline asm should let gcc handle the a details for getting the actual address for _copy_row as it will do the right thing test case: http://dev.gentoo.org/~vapier/libsdl/sdl-stretch.tar.bz2 diff -r 3202d727bb4b -r f4a3a4129d04 src/video/SDL_stretch.c --- a/src/video/SDL_stretch.c Thu Jan 05 07:08:59 2006 +0000 +++ b/src/video/SDL_stretch.c Thu Jan 05 07:20:12 2006 +0000 @@ -286,9 +286,9 @@ default: #ifdef __GNUC__ __asm__ __volatile__ ( - "call _copy_row" + "call *%4" : "=&D" (u1), "=&S" (u2) - : "0" (dstp), "1" (srcp) + : "0" (dstp), "1" (srcp), "r" (&_copy_row) : "memory" ); #else #ifdef WIN32