From a7f3045ed4cb13ce3bf8bb24d9ec5138ee07941d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 20 Jul 2009 06:51:24 +0000 Subject: Update gcc-4.4 patch #277562 by Diego E. Pettenò. (Portage version: 2.2_rc33/cvs/Linux x86_64) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- media-tv/xbmc/ChangeLog | 5 ++- media-tv/xbmc/files/xbmc-9.04-gcc.patch | 71 +++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/media-tv/xbmc/ChangeLog b/media-tv/xbmc/ChangeLog index 9b9dc55e0d64..5e0759679282 100644 --- a/media-tv/xbmc/ChangeLog +++ b/media-tv/xbmc/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for media-tv/xbmc # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.19 2009/05/29 20:58:22 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.20 2009/07/20 06:51:23 vapier Exp $ + + 20 Jul 2009; Mike Frysinger files/xbmc-9.04-gcc.patch: + Update gcc-4.4 patch #277562 by Diego E. Pettenò. 29 May 2009; Mike Frysinger xbmc-9.04.ebuild, xbmc-9999.ebuild: diff --git a/media-tv/xbmc/files/xbmc-9.04-gcc.patch b/media-tv/xbmc/files/xbmc-9.04-gcc.patch index 7abe8515fd30..f2adaca02b2a 100644 --- a/media-tv/xbmc/files/xbmc-9.04-gcc.patch +++ b/media-tv/xbmc/files/xbmc-9.04-gcc.patch @@ -7,3 +7,74 @@ fix build error with gcc-4.4 #include "fatal.h" #include "BuiltinParams.hpp" + +http://xbmc.org/trac/ticket/6627 + +--- xbmc/cores/DllLoader/exports/exports_msvcrt.cpp ++++ xbmc/cores/DllLoader/exports/exports_msvcrt.cpp +@@ -307,6 +307,14 @@ + extern "C" void* track_fopen(); + extern "C" void* track_freopen(); + ++#if (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4) ++#define strchr __builtin_strchr ++#define strrchr __builtin_strrchr ++#define strpbrk __builtin_strpbrk ++#define strstr __builtin_strstr ++#define memchr __builtin_memchr ++#endif ++ + Export export_msvcrt[] = + { + { "_close", -1, (void*)dll_close, (void*)track_close}, + +--- tools/XBMCTex/XBMCTex.cpp ++++ tools/XBMCTex/XBMCTex.cpp +@@ -659,7 +659,7 @@ + valid = true; + #ifdef _LINUX + char *c = NULL; +- while ((c = strchr(OutputFilename, '\\')) != NULL) *c = '/'; ++ while ((c = (char *)strchr(OutputFilename, '\\')) != NULL) *c = '/'; + #endif + } + else if (!stricmp(args[i], "-noprotect") || !stricmp(args[i], "-p")) + +--- xbmc/cores/paplayer/MACDll/Source/MACLib/APELink.cpp ++++ xbmc/cores/paplayer/MACDll/Source/MACLib/APELink.cpp +@@ -55,10 +55,10 @@ + if (pData != NULL) + { + // parse out the information +- char * pHeader = strstr(pData, APE_LINK_HEADER); +- char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG); +- char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG); +- char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG); ++ const char * pHeader = strstr(pData, APE_LINK_HEADER); ++ const char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG); ++ const char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG); ++ const char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG); + + if (pHeader && pImageFile && pStartBlock && pFinishBlock) + { +@@ -73,7 +73,7 @@ + + // get the path + char cImageFile[MAX_PATH + 1]; int nIndex = 0; +- char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)]; ++ const char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)]; + while ((*pImageCharacter != 0) && (*pImageCharacter != '\r') && (*pImageCharacter != '\n')) + cImageFile[nIndex++] = *pImageCharacter++; + cImageFile[nIndex] = 0; + +--- xbmc/lib/cximage-6.0/CxImage/DllInterface.cpp ++++ xbmc/lib/cximage-6.0/CxImage/DllInterface.cpp +@@ -51,7 +51,7 @@ + // helper functions + DWORD GetImageType(const char *file) + { // determines based on file extension the type of file +- char *ext = (char *)file + strlen(file) - 1; ++ const char *ext = file + strlen(file) - 1; + while (ext > file) + { + if (*ext == '.') -- cgit v1.2.3-65-gdbad