diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2012-06-08 13:25:19 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2012-06-08 13:25:19 +0000 |
commit | 9ad4c3d4f59f10313452ee59424eaaf2438a862e (patch) | |
tree | 21135ea1c4dde0073987a7f4cdc7cb7720d70e4a /media-sound/rezound | |
parent | Cleanup metadata. (diff) | |
download | gentoo-2-9ad4c3d4f59f10313452ee59424eaaf2438a862e.tar.gz gentoo-2-9ad4c3d4f59f10313452ee59424eaaf2438a862e.tar.bz2 gentoo-2-9ad4c3d4f59f10313452ee59424eaaf2438a862e.zip |
Fixed long standing -O2 optimization bug (#334797).
(Portage version: 2.2.0_alpha110/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/rezound')
-rw-r--r-- | media-sound/rezound/ChangeLog | 9 | ||||
-rw-r--r-- | media-sound/rezound/files/rezound-0.12.3_beta-gentoo_bug_334797.patch | 63 | ||||
-rw-r--r-- | media-sound/rezound/rezound-0.12.3_beta-r2.ebuild | 5 |
3 files changed, 74 insertions, 3 deletions
diff --git a/media-sound/rezound/ChangeLog b/media-sound/rezound/ChangeLog index eea7d1d2b26f..be88c5c57f6f 100644 --- a/media-sound/rezound/ChangeLog +++ b/media-sound/rezound/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-sound/rezound # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/rezound/ChangeLog,v 1.61 2012/05/17 12:02:13 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/rezound/ChangeLog,v 1.62 2012/06/08 13:25:19 polynomial-c Exp $ + + 21 May 2012; Lars Wendler <polynomial-c@gentoo.org> + rezound-0.12.3_beta-r2.ebuild, + +files/rezound-0.12.3_beta-gentoo_bug_334797.patch: + non-maintainer commit: Fixed long standing -O2 optimization bug. Thanks to + Petr Novak for reporting this in bug #334797 and to Martin von Gagern for + providing a working patch. 17 May 2012; Samuli Suominen <ssuominen@gentoo.org> rezound-0.12.3_beta-r2.ebuild: diff --git a/media-sound/rezound/files/rezound-0.12.3_beta-gentoo_bug_334797.patch b/media-sound/rezound/files/rezound-0.12.3_beta-gentoo_bug_334797.patch new file mode 100644 index 000000000000..e986bb8fc864 --- /dev/null +++ b/media-sound/rezound/files/rezound-0.12.3_beta-gentoo_bug_334797.patch @@ -0,0 +1,63 @@ +Let gcc handle template instantiation of TPoolFile. + +http://bugs.gentoo.org/334797 + +2012-05-22 Martin von Gagern <Martin.vGagern@gmx.net> + +Index: rezound-0.12.3beta/src/PoolFile/TPoolFile.h +=================================================================== +--- rezound-0.12.3beta.orig/src/PoolFile/TPoolFile.h ++++ rezound-0.12.3beta/src/PoolFile/TPoolFile.h +@@ -403,10 +403,8 @@ private: + + }; + +-/* this would be needed if I were utilizing gcc's implicit instantiation for TPoolFile + #define __TPoolFile_H__CPP + #include "TPoolFile.cpp" + #undef __TPoolFile_H__CPP +-*/ + + #endif +Index: rezound-0.12.3beta/src/PoolFile/TPoolFile.cpp +=================================================================== +--- rezound-0.12.3beta.orig/src/PoolFile/TPoolFile.cpp ++++ rezound-0.12.3beta/src/PoolFile/TPoolFile.cpp +@@ -20,11 +20,9 @@ + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +-/* this would be needed if I were utilizing gcc's implicit instantiation for TPoolFile + #ifndef __TPoolFile_H__CPP + #error this file must be included through TPoolFile.h NOT compiled on its own + #endif +-*/ + + /* ??? + * There are places that I have to do: container.erase(container.begin+index); +Index: rezound-0.12.3beta/src/backend/CSound.cpp +=================================================================== +--- rezound-0.12.3beta.orig/src/backend/CSound.cpp ++++ rezound-0.12.3beta/src/backend/CSound.cpp +@@ -2286,7 +2286,7 @@ void CSound::setUserNotes(const string & + + + // this is the explicit instantiation of the TPoolFile for CSound's purposes +-#include <TPoolFile.cpp> ++// #include <TPoolFile.cpp> + template class TPoolFile<sample_pos_t,uint64_t>; + + // Some explicit template method instantiations (not sure why some are necessary and some aren't) +Index: rezound-0.12.3beta/src/backend/CrezSoundTranslator.cpp +=================================================================== +--- rezound-0.12.3beta.orig/src/backend/CrezSoundTranslator.cpp ++++ rezound-0.12.3beta/src/backend/CrezSoundTranslator.cpp +@@ -43,7 +43,7 @@ CrezSoundTranslator::~CrezSoundTranslato + + // need to include this I use some of the template *methods* for types that are no where else + // so the explicit instantation at the bottom of CSound.cpp doesn't instantiate everything +-#include <TPoolFile.cpp> ++// #include <TPoolFile.cpp> + + struct RFormatInfo1 + { diff --git a/media-sound/rezound/rezound-0.12.3_beta-r2.ebuild b/media-sound/rezound/rezound-0.12.3_beta-r2.ebuild index b650ff605ffc..ce1c553862b3 100644 --- a/media-sound/rezound/rezound-0.12.3_beta-r2.ebuild +++ b/media-sound/rezound/rezound-0.12.3_beta-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/rezound/rezound-0.12.3_beta-r2.ebuild,v 1.6 2012/05/17 12:02:13 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/rezound/rezound-0.12.3_beta-r2.ebuild,v 1.7 2012/06/08 13:25:19 polynomial-c Exp $ EAPI=4 MY_P=${P/_/} @@ -40,7 +40,8 @@ S=${WORKDIR}/${MY_P} src_prepare() { EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" epatch "${FILESDIR}"/${P}-gcc44.patch \ - "${FILESDIR}"/${P}-m4.patch + "${FILESDIR}"/${P}-m4.patch \ + "${FILESDIR}"/${P}-gentoo_bug_334797.patch AT_M4DIR="config/m4" eautoreconf } |