From 6cbaa2108cb69d6c90d090e1fae68821d46022a0 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 21 Feb 2006 22:12:55 +0000 Subject: [PATCH] FIXME: This code needs to be rewritten to reference the static data using relocatable addresses (e.g. http://www.gentoo.org/proj/en/hardened/pic-fix-guide.xml or http://nasm.sourceforge.net/doc/html/nasmdoc8.html#section-8.2) This code currently breaks on systems with readonly text segments (hardened Linux / Intel Mac) --- src/video/SDL_yuv_mmx.c | 2 ++ src/video/SDL_yuv_sw.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/video/SDL_yuv_mmx.c b/src/video/SDL_yuv_mmx.c index 0779f78e4..4a9fb1d67 100644 --- a/src/video/SDL_yuv_mmx.c +++ b/src/video/SDL_yuv_mmx.c @@ -21,6 +21,7 @@ */ #include "SDL_config.h" +#if 0 /* FIXME: This code needs to be rewritten to reference the static data using relocatable addresses (e.g. http://www.gentoo.org/proj/en/hardened/pic-fix-guide.xml or http://nasm.sourceforge.net/doc/html/nasmdoc8.html#section-8.2) This code currently breaks on systems with readonly text segments (hardened Linux / Intel Mac) */ #if defined(__GNUC__) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES #include "SDL_stdinc.h" @@ -406,3 +407,4 @@ void Color565DitherYV12MMX1X( int *colortab, Uint32 *rgb_2_pix, } #endif /* GCC i386 inline assembly */ +#endif /* 0 */ diff --git a/src/video/SDL_yuv_sw.c b/src/video/SDL_yuv_sw.c index 3f1a59dcb..74570394d 100644 --- a/src/video/SDL_yuv_sw.c +++ b/src/video/SDL_yuv_sw.c @@ -121,6 +121,7 @@ struct private_yuvhwdata { /* The colorspace conversion functions */ +#if 0 /*defined(__GNUC__) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES*/ extern void Color565DitherYV12MMX1X( int *colortab, Uint32 *rgb_2_pix, unsigned char *lum, unsigned char *cr, unsigned char *cb, unsigned char *out, @@ -129,6 +130,7 @@ extern void ColorRGBDitherYV12MMX1X( int *colortab, Uint32 *rgb_2_pix, unsigned char *lum, unsigned char *cr, unsigned char *cb, unsigned char *out, int rows, int cols, int mod ); +#endif static void Color16DitherYV12Mod1X( int *colortab, Uint32 *rgb_2_pix, unsigned char *lum, unsigned char *cr, @@ -1059,7 +1061,7 @@ SDL_Overlay *SDL_CreateYUV_SW(_THIS, int width, int height, Uint32 format, SDL_S case SDL_YV12_OVERLAY: case SDL_IYUV_OVERLAY: if ( display->format->BytesPerPixel == 2 ) { -#if defined(__GNUC__) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES +#if 0 /*defined(__GNUC__) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES*/ /* inline assembly functions */ if ( SDL_HasMMX() && (Rmask == 0xF800) && (Gmask == 0x07E0) && @@ -1081,7 +1083,7 @@ SDL_Overlay *SDL_CreateYUV_SW(_THIS, int width, int height, Uint32 format, SDL_S swdata->Display2X = Color24DitherYV12Mod2X; } if ( display->format->BytesPerPixel == 4 ) { -#if defined(__GNUC__) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES +#if 0 /*defined(__GNUC__) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES*/ /* inline assembly functions */ if ( SDL_HasMMX() && (Rmask == 0x00FF0000) && (Gmask == 0x0000FF00) &&