summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2007-04-05 19:28:18 +0000
committerAlexis Ballier <aballier@gentoo.org>2007-04-05 19:28:18 +0000
commit7df4762cb17e38ec17dffc82d662aee6b2f6a100 (patch)
treeb4c1e77ad365cf3938ff5409a9213497e1993137 /media-video/ffmpeg
parentBug #168334 ; q -r dies with a segfault after emerge --sync (diff)
downloadgentoo-2-7df4762cb17e38ec17dffc82d662aee6b2f6a100.tar.gz
gentoo-2-7df4762cb17e38ec17dffc82d662aee6b2f6a100.tar.bz2
gentoo-2-7df4762cb17e38ec17dffc82d662aee6b2f6a100.zip
Disable non pic safe asm on x86 and amd64, bug #172845, bug #172877 and dupes
(Portage version: 2.1.2.3)
Diffstat (limited to 'media-video/ffmpeg')
-rw-r--r--media-video/ffmpeg/ChangeLog6
-rw-r--r--media-video/ffmpeg/ffmpeg-0.4.9_p20070330.ebuild4
-rw-r--r--media-video/ffmpeg/files/ffmpeg-0.4.9_p20070330-asmpic.patch35
3 files changed, 43 insertions, 2 deletions
diff --git a/media-video/ffmpeg/ChangeLog b/media-video/ffmpeg/ChangeLog
index ac341b87cdbb..d42f3d529ea4 100644
--- a/media-video/ffmpeg/ChangeLog
+++ b/media-video/ffmpeg/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/ffmpeg
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.188 2007/04/04 20:14:07 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.189 2007/04/05 19:28:18 aballier Exp $
+
+ 05 Apr 2007; Alexis Ballier <aballier@gentoo.org>
+ +files/ffmpeg-0.4.9_p20070330-asmpic.patch, ffmpeg-0.4.9_p20070330.ebuild:
+ Disable non pic safe asm on x86 and amd64, bug #172845, bug #172877 and dupes
04 Apr 2007; Markus Rothe <corsair@gentoo.org>
ffmpeg-0.4.9_p20070330.ebuild:
diff --git a/media-video/ffmpeg/ffmpeg-0.4.9_p20070330.ebuild b/media-video/ffmpeg/ffmpeg-0.4.9_p20070330.ebuild
index c89779be7a15..36d5e74dbe5e 100644
--- a/media-video/ffmpeg/ffmpeg-0.4.9_p20070330.ebuild
+++ b/media-video/ffmpeg/ffmpeg-0.4.9_p20070330.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20070330.ebuild,v 1.3 2007/04/04 20:14:07 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20070330.ebuild,v 1.4 2007/04/05 19:28:18 aballier Exp $
inherit eutils flag-o-matic multilib toolchain-funcs
@@ -89,6 +89,8 @@ src_unpack() {
sed -i -e "s:-e debug=off::" tests/server-regression.sh
epatch "${FILESDIR}/${PN}-shared-gcc4.1.patch"
+ # disable non pic safe asm, bug #172877, bug #172845 and dupes
+ epatch "${FILESDIR}/${P}-asmpic.patch"
}
src_compile() {
diff --git a/media-video/ffmpeg/files/ffmpeg-0.4.9_p20070330-asmpic.patch b/media-video/ffmpeg/files/ffmpeg-0.4.9_p20070330-asmpic.patch
new file mode 100644
index 000000000000..0cf16c3e5cca
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-0.4.9_p20070330-asmpic.patch
@@ -0,0 +1,35 @@
+Index: ffmpeg/libavcodec/cabac.h
+===================================================================
+--- ffmpeg.orig/libavcodec/cabac.h
++++ ffmpeg/libavcodec/cabac.h
+@@ -376,7 +376,7 @@ static int av_always_inline get_cabac_in
+ #define BYTE "16"
+ #define BYTEEND "20"
+ #endif
+-#if defined(ARCH_X86) && defined(CONFIG_7REGS) && defined(CONFIG_EBX_AVAILABLE)
++#if defined(ARCH_X86) && defined(CONFIG_7REGS) && defined(CONFIG_EBX_AVAILABLE) && !(defined(PIC) && defined(__GNUC__))
+ int bit;
+
+ #ifndef BRANCHLESS_CABAC_DECODER
+@@ -680,7 +680,7 @@ static av_always_inline int get_cabac_by
+
+ //FIXME the x86 code from this file should be moved into i386/h264 or cabac something.c/h (note ill kill you if you move my code away from under my fingers before iam finished with it!)
+ //FIXME use some macros to avoid duplicatin get_cabac (cant be done yet as that would make optimization work hard)
+-#if defined(ARCH_X86) && defined(CONFIG_7REGS) && defined(CONFIG_EBX_AVAILABLE)
++#if defined(ARCH_X86) && defined(CONFIG_7REGS) && defined(CONFIG_EBX_AVAILABLE) && !(defined(PIC) && defined(__GNUC__))
+ static int decode_significance_x86(CABACContext *c, int max_coeff, uint8_t *significant_coeff_ctx_base, int *index){
+ void *end= significant_coeff_ctx_base + max_coeff - 1;
+ int minusstart= -(int)significant_coeff_ctx_base;
+Index: ffmpeg/libavcodec/h264.c
+===================================================================
+--- ffmpeg.orig/libavcodec/h264.c
++++ ffmpeg/libavcodec/h264.c
+@@ -6111,7 +6111,7 @@ static int decode_cabac_residual( H264Co
+ index[coeff_count++] = last;\
+ }
+ const uint8_t *sig_off = significant_coeff_flag_offset_8x8[MB_FIELD];
+-#if defined(ARCH_X86) && defined(CONFIG_7REGS) && defined(CONFIG_EBX_AVAILABLE)
++#if defined(ARCH_X86) && defined(CONFIG_7REGS) && defined(CONFIG_EBX_AVAILABLE) && !(defined(PIC) && defined(__GNUC__))
+ coeff_count= decode_significance_8x8_x86(CC, significant_coeff_ctx_base, index, sig_off);
+ } else {
+ coeff_count= decode_significance_x86(CC, max_coeff, significant_coeff_ctx_base, index);