# --- T2-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # T2 SDE: package/.../hermes/gcc4.patch # Copyright (C) 2004 - 2005 The T2 SDE Project # # More information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # --- T2-COPYRIGHT-NOTE-END --- I don't know what they are doing there with the underscore thing... originally these functions should be aliased but gcc4 complains about undefined functions (?) --jsaw diff -ur Hermes-1.3.3/src/HeadMMX.h Hermes-1.3.3-t2/src/HeadMMX.h --- Hermes-1.3.3/src/HeadMMX.h 2000-12-06 05:55:28.000000000 +0100 +++ Hermes-1.3.3-t2/src/HeadMMX.h 2005-11-24 14:33:42.493827611 +0100 @@ -27,6 +27,26 @@ extern "C" { #endif +/* Fix the underscore business with ELF compilers */ + +#if defined(__ELF__) && defined(__GNUC__) + +#define ConvertMMX _ConvertMMX +#define ClearMMX_32 _ClearMMX_32 +#define ClearMMX_24 _ClearMMX_24 +#define ClearMMX_16 _ClearMMX_16 +#define ClearMMX_8 _ClearMMX_8 +#define ConvertMMXp32_16RGB555 _ConvertMMXp32_16RGB555 +#define ConvertMMXpII32_24RGB888 _ConvertMMXpII32_24RGB888 +#define ConvertMMXpII32_16RGB565 _ConvertMMXpII32_16RGB565 +#define ConvertMMXpII32_16BGR565 _ConvertMMXpII32_16BGR565 +#define ConvertMMXpII32_16RGB555 _ConvertMMXpII32_16RGB555 +#define ConvertMMXpII32_16BGR555 _ConvertMMXpII32_16BGR555 + +#endif /* ELF and GNUC */ + + + void STACKCALL ConvertMMX(HermesConverterInterface *); void STACKCALL ClearMMX_32(HermesClearInterface *); @@ -49,35 +69,6 @@ -/* Fix the underscore business with ELF compilers */ - -#if defined(__ELF__) && defined(__GNUC__) - #ifdef __cplusplus - extern "C" { - #endif - - void ConvertMMX(HermesConverterInterface *) __attribute__ ((alias ("_ConvertMMX"))); - void ClearMMX_32(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_32"))); - void ClearMMX_24(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_24"))); - void ClearMMX_16(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_16"))); - void ClearMMX_8(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_8"))); - - void ConvertMMXp32_16RGB555() __attribute__ ((alias ("_ConvertMMXp32_16RGB555"))); - - void ConvertMMXpII32_24RGB888() __attribute__ ((alias ("_ConvertMMXpII32_24RGB888"))); - void ConvertMMXpII32_16RGB565() __attribute__ ((alias ("_ConvertMMXpII32_16RGB565"))); - void ConvertMMXpII32_16BGR565() __attribute__ ((alias ("_ConvertMMXpII32_16BGR565"))); - void ConvertMMXpII32_16RGB555() __attribute__ ((alias ("_ConvertMMXpII32_16RGB555"))); - void ConvertMMXpII32_16BGR555() __attribute__ ((alias ("_ConvertMMXpII32_16BGR555"))); - - #ifdef __cplusplus - } - #endif - -#endif /* ELF and GNUC */ - - - /* Make it work with Watcom */ #ifdef __WATCOMC__ diff -ur Hermes-1.3.3/src/HeadX86.h Hermes-1.3.3-t2/src/HeadX86.h --- Hermes-1.3.3/src/HeadX86.h 2000-12-06 05:55:28.000000000 +0100 +++ Hermes-1.3.3-t2/src/HeadX86.h 2005-11-24 14:35:20.307108281 +0100 @@ -27,6 +27,53 @@ #endif + + +/* Now fix up the ELF underscore problem */ + +#if defined(__ELF__) && defined(__GNUC__) +#define Hermes_X86_CPU _Hermes_X86_CPU +#define ConvertX86 _ConvertX86 +#define ConvertX86Stretch _ConvertX86Stretch +#define ClearX86_32 _ClearX86_32 +#define ClearX86_24 _ClearX86_24 +#define ClearX86_16 _ClearX86_16 +#define ClearX86_8 _ClearX86_8 +#define ConvertX86p32_32BGR888 _ConvertX86p32_32BGR888 +#define ConvertX86p32_32RGBA888 _ConvertX86p32_32RGBA888 +#define ConvertX86p32_32BGRA888 _ConvertX86p32_32BGRA888 +#define ConvertX86p32_24RGB888 _ConvertX86p32_24RGB888 +#define ConvertX86p32_24BGR888 _ConvertX86p32_24BGR888 +#define ConvertX86p32_16RGB565 _ConvertX86p32_16RGB565 +#define ConvertX86p32_16BGR565 _ConvertX86p32_16BGR565 +#define ConvertX86p32_16RGB555 _ConvertX86p32_16RGB555 +#define ConvertX86p32_16BGR555 _ConvertX86p32_16BGR555 +#define ConvertX86p32_8RGB332 _ConvertX86p32_8RGB332 +#define ConvertX86p32_16RGB565_S _ConvertX86p32_16RGB565_S +#define ConvertX86p16_32RGB888 _ConvertX86p16_32RGB888 +#define ConvertX86p16_32BGR888 _ConvertX86p16_32BGR888 +#define ConvertX86p16_32RGBA888 _ConvertX86p16_32RGBA888 +#define ConvertX86p16_32BGRA888 _ConvertX86p16_32BGRA888 +#define ConvertX86p16_24RGB888 _ConvertX86p16_24RGB888 +#define ConvertX86p16_24BGR888 _ConvertX86p16_24BGR888 +#define ConvertX86p16_16BGR565 _ConvertX86p16_16BGR565 +#define ConvertX86p16_16RGB555 _ConvertX86p16_16RGB555 +#define ConvertX86p16_16BGR555 _ConvertX86p16_16BGR555 +#define ConvertX86p16_8RGB332 _ConvertX86p16_8RGB332 +#define CopyX86p_4byte _CopyX86p_4byte +#define CopyX86p_3byte _CopyX86p_3byte +#define CopyX86p_2byte _CopyX86p_2byte +#define CopyX86p_1byte _CopyX86p_1byte +#define ConvertX86pI8_32 _ConvertX86pI8_32 +#define ConvertX86pI8_24 _ConvertX86pI8_24 +#define ConvertX86pI8_16 _ConvertX86pI8_16 +#define ConvertX86p16_32RGB888_LUT_X86 _ConvertX86p16_32RGB888_LUT_X86 +#define ConvertX86p16_32BGR888_LUT_X86 _ConvertX86p16_32BGR888_LUT_X86 +#define ConvertX86p16_32RGBA888_LUT_X86 _ConvertX86p16_32RGBA888_LUT_X86 +#define ConvertX86p16_32BGRA888_LUT_X86 _ConvertX86p16_32BGRA888_LUT_X86 +#endif /* ELF & GNU */ + + void STACKCALL ConvertX86(HermesConverterInterface *); void STACKCALL ConvertX86Stretch(HermesConverterInterface *); void STACKCALL ClearX86_32(HermesClearInterface *); @@ -81,70 +128,6 @@ -/* 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"))); - void ConvertX86Stretch(HermesConverterInterface *) __attribute__ ((alias ("_ConvertX86Stretch"))); - - void ClearX86_32(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_32"))); - void ClearX86_24(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_24"))); - void ClearX86_16(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_16"))); - void ClearX86_8(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_8"))); - - - void ConvertX86p32_32BGR888() __attribute__ ((alias ("_ConvertX86p32_32BGR888"))); - void ConvertX86p32_32RGBA888() __attribute__ ((alias ("_ConvertX86p32_32RGBA888"))); - void ConvertX86p32_32BGRA888() __attribute__ ((alias ("_ConvertX86p32_32BGRA888"))); - void ConvertX86p32_24RGB888() __attribute__ ((alias ("_ConvertX86p32_24RGB888"))); - void ConvertX86p32_24BGR888() __attribute__ ((alias ("_ConvertX86p32_24BGR888"))); - void ConvertX86p32_16RGB565() __attribute__ ((alias ("_ConvertX86p32_16RGB565"))); - void ConvertX86p32_16BGR565() __attribute__ ((alias ("_ConvertX86p32_16BGR565"))); - void ConvertX86p32_16RGB555() __attribute__ ((alias ("_ConvertX86p32_16RGB555"))); - void ConvertX86p32_16BGR555() __attribute__ ((alias ("_ConvertX86p32_16BGR555"))); - void ConvertX86p32_8RGB332() __attribute__ ((alias ("_ConvertX86p32_8RGB332"))); - - void ConvertX86p32_16RGB565_S() __attribute__ ((alias ("_ConvertX86p32_16RGB565_S"))); - - void ConvertX86p16_32RGB888() __attribute__ ((alias ("_ConvertX86p16_32RGB888"))); - void ConvertX86p16_32BGR888() __attribute__ ((alias ("_ConvertX86p16_32BGR888"))); - void ConvertX86p16_32RGBA888() __attribute__ ((alias ("_ConvertX86p16_32RGBA888"))); - void ConvertX86p16_32BGRA888() __attribute__ ((alias ("_ConvertX86p16_32BGRA888"))); - void ConvertX86p16_24RGB888() __attribute__ ((alias ("_ConvertX86p16_24RGB888"))); - void ConvertX86p16_24BGR888() __attribute__ ((alias ("_ConvertX86p16_24BGR888"))); - void ConvertX86p16_16BGR565() __attribute__ ((alias ("_ConvertX86p16_16BGR565"))); - void ConvertX86p16_16RGB555() __attribute__ ((alias ("_ConvertX86p16_16RGB555"))); - void ConvertX86p16_16BGR555() __attribute__ ((alias ("_ConvertX86p16_16BGR555"))); - void ConvertX86p16_8RGB332() __attribute__ ((alias ("_ConvertX86p16_8RGB332"))); - - void CopyX86p_4byte() __attribute__ ((alias ("_CopyX86p_4byte"))); - void CopyX86p_3byte() __attribute__ ((alias ("_CopyX86p_3byte"))); - void CopyX86p_2byte() __attribute__ ((alias ("_CopyX86p_2byte"))); - void CopyX86p_1byte() __attribute__ ((alias ("_CopyX86p_1byte"))); - - void ConvertX86pI8_32() __attribute__ ((alias ("_ConvertX86pI8_32"))); - void ConvertX86pI8_24() __attribute__ ((alias ("_ConvertX86pI8_24"))); - void ConvertX86pI8_16() __attribute__ ((alias ("_ConvertX86pI8_16"))); - - extern int32 ConvertX86p16_32RGB888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32RGB888_LUT_X86"))); - extern int32 ConvertX86p16_32BGR888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32BGR888_LUT_X86"))); - extern int32 ConvertX86p16_32RGBA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32RGBA888_LUT_X86"))); - extern int32 ConvertX86p16_32BGRA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32BGRA888_LUT_X86"))); - - #ifdef __cplusplus - } - #endif - -#endif /* ELF & GNU */ - - - /* Make it run with WATCOM C */ #ifdef __WATCOMC__ #pragma warning 601 9