--- SDL-1.2.8/include/SDL_endian.h.orig 2004-12-13 08:54:30.000000000 +0100
-+++ SDL-1.2.8/include/SDL_endian.h 2005-05-05 15:50:48.600521264 +0200
-@@ -68,7 +68,10 @@
++++ SDL-1.2.8/include/SDL_endian.h 2005-05-05 16:03:06.823294344 +0200
+@@ -68,8 +68,7 @@
#elif defined(__GNUC__) && defined(__x86_64__)
static __inline__ Uint16 SDL_Swap16(Uint16 x)
{
-+/*
- __asm__("xchgb %b0,%h0" : "=q" (x) : "0" (x));
-+*/
-+ __asm__("xchgb %b0,%h0" : "=q" (x) : "a" (x));
- return x;
+- __asm__("xchgb %b0,%h0" : "=q" (x) : "0" (x));
+- return x;
++ return ((x >> 8) | (x << 8)); /* gcc4 emits rolw $8,reg16 */
}
#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))
+ static __inline__ Uint16 SDL_Swap16(Uint16 x)