summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-07-20 06:51:24 +0000
committerMike Frysinger <vapier@gentoo.org>2009-07-20 06:51:24 +0000
commita7f3045ed4cb13ce3bf8bb24d9ec5138ee07941d (patch)
treee30c2c5a8a586da2a934589165b768284b7bfa20 /media-tv/xbmc
parentFix getline() conflict with glibc-2.10 #277186 by Diego E. Pettenò. (diff)
downloadgentoo-2-a7f3045ed4cb13ce3bf8bb24d9ec5138ee07941d.tar.gz
gentoo-2-a7f3045ed4cb13ce3bf8bb24d9ec5138ee07941d.tar.bz2
gentoo-2-a7f3045ed4cb13ce3bf8bb24d9ec5138ee07941d.zip
Update gcc-4.4 patch #277562 by Diego E. Pettenò.
(Portage version: 2.2_rc33/cvs/Linux x86_64)
Diffstat (limited to 'media-tv/xbmc')
-rw-r--r--media-tv/xbmc/ChangeLog5
-rw-r--r--media-tv/xbmc/files/xbmc-9.04-gcc.patch71
2 files changed, 75 insertions, 1 deletions
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 <vapier@gentoo.org> files/xbmc-9.04-gcc.patch:
+ Update gcc-4.4 patch #277562 by Diego E. Pettenò.
29 May 2009; Mike Frysinger <vapier@gentoo.org> 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 == '.')