--- SDL-1.2.8/src/hermes/HeadMMX.h.orig 2001-04-26 18:45:45.000000000 +0200
-+++ SDL-1.2.8/src/hermes/HeadMMX.h 2005-05-05 14:46:23.000000000 +0200
-@@ -50,21 +50,12 @@
- extern "C" {
- #endif
++++ SDL-1.2.8/src/hermes/HeadMMX.h 2005-05-05 22:32:19.000000000 +0200
+@@ -10,24 +10,15 @@
+ #ifndef __HERMES_HEAD_MMX__
+ #define __HERMES_HEAD_MMX__
+-
+ /* If you cannot stand ifdefs, then please do not look into this file, it's
+ going to end your life :) */
+
+-#ifdef X86_ASSEMBLER
+-
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+ void STACKCALL ConvertMMX(HermesConverterInterface *);
+
+-void STACKCALL ClearMMX_32(HermesClearInterface *);
+-void STACKCALL ClearMMX_24(HermesClearInterface *);
+-void STACKCALL ClearMMX_16(HermesClearInterface *);
+-void STACKCALL ClearMMX_8(HermesClearInterface *);
+-
+ void ConvertMMXpII32_24RGB888();
+ void ConvertMMXpII32_16RGB565();
+ void ConvertMMXpII32_16BGR565();
+@@ -41,40 +32,6 @@
+ }
+ #endif
+
+-
+-
+-/* Fix the underscore business with ELF compilers */
+-
+-#if defined(__ELF__) && defined(__GNUC__)
+- #ifdef __cplusplus
+- extern "C" {
+- #endif
+-
- void ConvertMMX(HermesConverterInterface *) __attribute__ ((alias ("_ConvertMMX")));
-#if 0
- void ClearMMX_32(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_32")));
- void ConvertMMXpII32_16BGR565() __attribute__ ((alias ("_ConvertMMXpII32_16BGR565")));
- void ConvertMMXpII32_16RGB555() __attribute__ ((alias ("_ConvertMMXpII32_16RGB555")));
- void ConvertMMXpII32_16BGR555() __attribute__ ((alias ("_ConvertMMXpII32_16BGR555")));
-+ void ConvertMMX(HermesConverterInterface *);
-+ void ConvertMMXpII32_24RGB888();
-+ void ConvertMMXpII32_16RGB565();
-+ void ConvertMMXpII32_16BGR565();
-+ void ConvertMMXpII32_16RGB555();
-+ void ConvertMMXpII32_16BGR555();
-
- #ifdef __cplusplus
- }
+-
+- #ifdef __cplusplus
+- }
+- #endif
+-
+-#endif /* ELF and GNUC */
+-
+-
+-
+-
+ /* Make it work with Watcom */
+ #ifdef __WATCOMC__
+ #pragma warning 601 9
+@@ -95,7 +52,4 @@
+
+ #endif /* WATCOM */
+
+-#endif /* X86_ASSEMBLER */
+-
+-
+ #endif
--- SDL-1.2.8/src/hermes/HeadX86.h.orig 2002-06-08 19:45:39.000000000 +0200
-+++ SDL-1.2.8/src/hermes/HeadX86.h 2005-05-05 14:48:21.000000000 +0200
-@@ -79,56 +79,25 @@
- extern "C" {
- #endif
++++ SDL-1.2.8/src/hermes/HeadX86.h 2005-05-05 22:32:11.000000000 +0200
+@@ -10,9 +10,6 @@
+ #ifndef __HERMES_HEAD_X86__
+ #define __HERMES_HEAD_X86__
-- int Hermes_X86_CPU() __attribute__ ((alias ("_Hermes_X86_CPU")));
-+ int Hermes_X86_CPU();
+-
+-#ifdef X86_ASSEMBLER
+-
+ /* If you can't stand IFDEFS, then close your eyes now, please :) */
-- void ConvertX86(HermesConverterInterface *) __attribute__ ((alias ("_ConvertX86")));
-+ void ConvertX86(HermesConverterInterface *);
+ /* Ok, we start with normal function definitions */
+@@ -20,12 +17,7 @@
+ extern "C" {
+ #endif
+
+-
+ void STACKCALL ConvertX86(HermesConverterInterface *);
+-void STACKCALL ClearX86_32(HermesClearInterface *);
+-void STACKCALL ClearX86_24(HermesClearInterface *);
+-void STACKCALL ClearX86_16(HermesClearInterface *);
+-void STACKCALL ClearX86_8(HermesClearInterface *);
+
+ int STACKCALL Hermes_X86_CPU();
+@@ -40,104 +32,15 @@
+ void ConvertX86p32_16BGR555();
+ void ConvertX86p32_8RGB332();
+
+-void ConvertX86p16_32RGB888();
+-void ConvertX86p16_32BGR888();
+-void ConvertX86p16_32RGBA888();
+-void ConvertX86p16_32BGRA888();
+-void ConvertX86p16_24RGB888();
+-void ConvertX86p16_24BGR888();
+ void ConvertX86p16_16BGR565();
+ void ConvertX86p16_16RGB555();
+ void ConvertX86p16_16BGR555();
+ void ConvertX86p16_8RGB332();
+
+-void CopyX86p_4byte();
+-void CopyX86p_3byte();
+-void CopyX86p_2byte();
+-void CopyX86p_1byte();
+-
+-void ConvertX86pI8_32();
+-void ConvertX86pI8_24();
+-void ConvertX86pI8_16();
+-
+-extern int ConvertX86p16_32RGB888_LUT_X86[512];
+-extern int ConvertX86p16_32BGR888_LUT_X86[512];
+-extern int ConvertX86p16_32RGBA888_LUT_X86[512];
+-extern int ConvertX86p16_32BGRA888_LUT_X86[512];
+-
+ #ifdef __cplusplus
+ }
+ #endif
+
+-
+-
+-
+-/* Now fix up the ELF underscore problem */
+-
+-#if defined(__ELF__) && defined(__GNUC__)
+- #ifdef __cplusplus
+- extern "C" {
+- #endif
+-
+- int Hermes_X86_CPU() __attribute__ ((alias ("_Hermes_X86_CPU")));
+-
+- void ConvertX86(HermesConverterInterface *) __attribute__ ((alias ("_ConvertX86")));
+-
-#if 0
- void ClearX86_32(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_32")));
- void ClearX86_24(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_24")));
- extern int ConvertX86p16_32RGBA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32RGBA888_LUT_X86")));
- extern int ConvertX86p16_32BGRA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32BGRA888_LUT_X86")));
-#endif
-+ void ConvertX86p32_32BGR888();
-+ void ConvertX86p32_32RGBA888();
-+ void ConvertX86p32_32BGRA888();
-+ void ConvertX86p32_24RGB888();
-+ void ConvertX86p32_24BGR888();
-+ void ConvertX86p32_16RGB565();
-+ void ConvertX86p32_16BGR565();
-+ void ConvertX86p32_16RGB555();
-+ void ConvertX86p32_16BGR555();
-+ void ConvertX86p32_8RGB332();
+-
+- #ifdef __cplusplus
+- }
+- #endif
+-
+-#endif /* ELF & GNU */
+-
+-
+-
+ /* Make it run with WATCOM C */
+ #ifdef __WATCOMC__
+ #pragma warning 601 9
+@@ -188,8 +91,4 @@
+
+ #endif /* __WATCOMC__ */
+
+-
+-#endif /* X86_ASSEMBLER */
+-
+-
+ #endif
+--- SDL-1.2.8/src/hermes/mmx_main.asm.orig 2005-05-05 22:38:42.000000000 +0200
++++ SDL-1.2.8/src/hermes/mmx_main.asm 2005-05-05 22:38:46.000000000 +0200
+@@ -10,6 +10,7 @@
+ BITS 32
+
+ GLOBAL _ConvertMMX
++GLOBAL ConvertMMX
+ GLOBAL _mmxreturn
+
+ SECTION .text
+@@ -30,6 +31,7 @@
+ ;; 36: int32 *lookup
+
+ _ConvertMMX:
++ConvertMMX:
+ push ebp
+ mov ebp,esp
+
+--- SDL-1.2.8/src/hermes/mmxp2_32.asm.orig 2002-06-08 19:45:39.000000000 +0200
++++ SDL-1.2.8/src/hermes/mmxp2_32.asm 2005-05-05 22:41:00.000000000 +0200
+@@ -26,6 +26,11 @@
+ GLOBAL _ConvertMMXpII32_16BGR565
+ GLOBAL _ConvertMMXpII32_16RGB555
+ GLOBAL _ConvertMMXpII32_16BGR555
++GLOBAL ConvertMMXpII32_24RGB888
++GLOBAL ConvertMMXpII32_16RGB565
++GLOBAL ConvertMMXpII32_16BGR565
++GLOBAL ConvertMMXpII32_16RGB555
++GLOBAL ConvertMMXpII32_16BGR555
+
+ EXTERN _mmxreturn
+
+@@ -51,6 +56,7 @@
+ SECTION .text
+
+ _ConvertMMXpII32_24RGB888:
++ConvertMMXpII32_24RGB888:
+
+ ; set up mm6 as the mask, mm7 as zero
+ movq mm6, qword [mmx32_rgb888_mask]
+@@ -113,6 +119,7 @@
+
+
+ _ConvertMMXpII32_16RGB565:
++ConvertMMXpII32_16RGB565:
+
+ ; set up masks
+ movq mm5, [mmx32_rgb565_b]
+@@ -180,6 +187,7 @@
+
+
+ _ConvertMMXpII32_16BGR565:
++ConvertMMXpII32_16BGR565:
+
+ movq mm5, [mmx32_rgb565_r]
+ movq mm6, [mmx32_rgb565_g]
+@@ -248,6 +256,7 @@
+ jmp _mmxreturn
+
+ _ConvertMMXpII32_16BGR555:
++ConvertMMXpII32_16BGR555:
+
+ ; the 16BGR555 converter is identical to the RGB555 one,
+ ; except it uses a different multiplier for the pmaddwd
+@@ -261,7 +270,9 @@
+ ; would almost certainly be faster, even if only a little.
+ ; I did rename 'mmx32_rgb555_add' to 'mmx32_rgb555_mul', which is
+ ; (I think) a more accurate name..
+
-+ void ConvertX86p16_16BGR565();
-+ void ConvertX86p16_16RGB555();
-+ void ConvertX86p16_16BGR555();
-+ void ConvertX86p16_8RGB332();
+ _ConvertMMXpII32_16RGB555:
++ConvertMMXpII32_16RGB555:
+
+ movq mm7,qword [mmx32_rgb555_mul]
+ _convert_bgr555_cheat:
+--- SDL-1.2.8/src/hermes/x86_main.asm.orig 2001-04-26 18:45:45.000000000 +0200
++++ SDL-1.2.8/src/hermes/x86_main.asm 2005-05-05 22:42:06.000000000 +0200
+@@ -12,10 +12,11 @@
+ BITS 32
+
+ GLOBAL _ConvertX86
++GLOBAL ConvertX86
+ GLOBAL _x86return
+
+ GLOBAL _Hermes_X86_CPU
+-
++GLOBAL Hermes_X86_CPU
+
+ SECTION .data
+
+@@ -40,6 +41,7 @@
+ ;; 36: int32 *lookup
+
+ _ConvertX86:
++ConvertX86:
+ push ebp
+ mov ebp,esp
+
+@@ -81,6 +83,7 @@
+ ;; Hermes_X86_CPU returns the CPUID flags in eax
+
+ _Hermes_X86_CPU:
++Hermes_X86_CPU:
+ pushfd
+ pop eax
+
+--- SDL-1.2.8/src/hermes/x86p_16.asm.orig 2001-04-26 18:45:45.000000000 +0200
++++ SDL-1.2.8/src/hermes/x86p_16.asm 2005-05-05 22:42:58.000000000 +0200
+@@ -23,6 +23,16 @@
+ GLOBAL _ConvertX86p16_16RGB555
+ GLOBAL _ConvertX86p16_16BGR555
+ GLOBAL _ConvertX86p16_8RGB332
++GLOBAL ConvertX86p16_32RGB888
++GLOBAL ConvertX86p16_32BGR888
++GLOBAL ConvertX86p16_32RGBA888
++GLOBAL ConvertX86p16_32BGRA888
++GLOBAL ConvertX86p16_24RGB888
++GLOBAL ConvertX86p16_24BGR888
++GLOBAL ConvertX86p16_16BGR565
++GLOBAL ConvertX86p16_16RGB555
++GLOBAL ConvertX86p16_16BGR555
++GLOBAL ConvertX86p16_8RGB332
+
+ EXTERN _ConvertX86
+ EXTERN _x86return
+@@ -33,6 +43,7 @@
+
+
+ _ConvertX86p16_16BGR565:
++ConvertX86p16_16BGR565:
+
+ ; check short
+ cmp ecx,BYTE 16
+@@ -143,6 +154,7 @@
+
+
+ _ConvertX86p16_16RGB555:
++ConvertX86p16_16RGB555:
+
+ ; check short
+ cmp ecx,BYTE 32
+@@ -251,6 +263,7 @@
+
+
+ _ConvertX86p16_16BGR555:
++ConvertX86p16_16BGR555:
+
+ ; check short
+ cmp ecx,BYTE 16
+@@ -369,6 +382,7 @@
+
+
+ _ConvertX86p16_8RGB332:
++ConvertX86p16_8RGB332:
+
+ ; check short
+ cmp ecx,BYTE 16
+--- SDL-1.2.8/src/hermes/x86p_32.asm.orig 2001-04-26 18:45:45.000000000 +0200
++++ SDL-1.2.8/src/hermes/x86p_32.asm 2005-05-05 22:44:07.000000000 +0200
+@@ -22,6 +22,16 @@
+ GLOBAL _ConvertX86p32_16RGB555
+ GLOBAL _ConvertX86p32_16BGR555
+ GLOBAL _ConvertX86p32_8RGB332
++GLOBAL ConvertX86p32_32BGR888
++GLOBAL ConvertX86p32_32RGBA888
++GLOBAL ConvertX86p32_32BGRA888
++GLOBAL ConvertX86p32_24RGB888
++GLOBAL ConvertX86p32_24BGR888
++GLOBAL ConvertX86p32_16RGB565
++GLOBAL ConvertX86p32_16BGR565
++GLOBAL ConvertX86p32_16RGB555
++GLOBAL ConvertX86p32_16BGR555
++GLOBAL ConvertX86p32_8RGB332
+
+ EXTERN _x86return
+
+@@ -38,6 +48,7 @@
+
+
+ _ConvertX86p32_32BGR888:
++ConvertX86p32_32BGR888:
+
+ ; check short
+ cmp ecx,BYTE 32
+@@ -119,6 +130,7 @@
+
+
+ _ConvertX86p32_32RGBA888:
++ConvertX86p32_32RGBA888:
+
+ ; check short
+ cmp ecx,BYTE 32
+@@ -190,6 +202,7 @@
+
+
+ _ConvertX86p32_32BGRA888:
++ConvertX86p32_32BGRA888:
+
+ ; check short
+ cmp ecx,BYTE 32
+@@ -265,6 +278,7 @@
+ ;; 32 bit RGB 888 to 24 BIT RGB 888
+
+ _ConvertX86p32_24RGB888:
++ConvertX86p32_24RGB888:
+
+ ; check short
+ cmp ecx,BYTE 32
+@@ -362,6 +376,7 @@
+ ;; 32 bit RGB 888 to 24 bit BGR 888
+
+ _ConvertX86p32_24BGR888:
++ConvertX86p32_24BGR888:
+
+ ; check short
+ cmp ecx,BYTE 32
+@@ -463,6 +478,8 @@
+ ;; 32 bit RGB 888 to 16 BIT RGB 565
+
+ _ConvertX86p32_16RGB565:
++ConvertX86p32_16RGB565:
++
+ ; check short
+ cmp ecx,BYTE 16
+ ja .L3
+@@ -578,6 +595,7 @@
+ ;; 32 bit RGB 888 to 16 BIT BGR 565
+
+ _ConvertX86p32_16BGR565:
++ConvertX86p32_16BGR565:
+
+ ; check short
+ cmp ecx,BYTE 16
+@@ -692,6 +710,7 @@
+ ;; 32 BIT RGB TO 16 BIT RGB 555
+
+ _ConvertX86p32_16RGB555:
++ConvertX86p32_16RGB555:
+
+ ; check short
+ cmp ecx,BYTE 16
+@@ -803,6 +822,7 @@
+ ;; 32 BIT RGB TO 16 BIT BGR 555
+
+ _ConvertX86p32_16BGR555:
++ConvertX86p32_16BGR555:
+
+ ; check short
+ cmp ecx,BYTE 16
+@@ -919,8 +939,9 @@
+ ;; FROM 32 BIT RGB to 8 BIT RGB (rrrgggbbb)
+ ;; This routine writes FOUR pixels at once (dword) and then, if they exist
+ ;; the trailing three pixels
+-_ConvertX86p32_8RGB332:
- #ifdef __cplusplus
- }
++_ConvertX86p32_8RGB332:
++ConvertX86p32_8RGB332:
+
+ .L_ALIGNED
+ push ecx
--- 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 16:41:59.000000000 +0200
@@ -68,7 +68,7 @@