From: Chris Parrott Date: Fri, 6 Apr 2007 16:26:05 +0000 (+0000) Subject: added patches to workaround sparc RTS bug on ghc-6.6 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b3c6e485bcebe91ad7660fd23327b9cde8d8b61f;p=gentoo.git added patches to workaround sparc RTS bug on ghc-6.6 Package-Manager: portage-2.1.2.3 --- diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 2495c9a39952..8d15e1862a26 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-lang/ghc # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.118 2007/03/29 15:00:00 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.119 2007/04/06 16:26:05 cparrott Exp $ + + 06 Apr 2007; Chris Parrott + +files/ghc-6.6-nothreadedrts.patch, ghc-6.6.ebuild: + added patches to workaround RTS problem on sparc 29 Mar 2007; Markus Rothe ghc-6.4.2.ebuild, ghc-6.6.ebuild: diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index 5e2d2d8a6030..a804ce5ecf06 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX depsort.py 1958 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 SHA1 2c900abeb6cfcc4327f0e9418b5abd7761ce5879 SHA256 7406f639d17b8acab6a1db7e398e74379b44950d4821bc36901abd3455d63b3d MD5 7e423c353b08a2c05693d13f21e067d0 files/depsort.py 1958 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 files/depsort.py 1958 @@ -30,6 +33,10 @@ AUX ghc-6.5-norelax.patch 578 RMD160 f41d1b9f93cff339fac01660bfeed5d2aeb32757 SH MD5 406397414acecec0aa1eb548bac52099 files/ghc-6.5-norelax.patch 578 RMD160 f41d1b9f93cff339fac01660bfeed5d2aeb32757 files/ghc-6.5-norelax.patch 578 SHA256 fb1bdd958116b5b17b4233517c45bee243a9b4503b20469d23b3d716d2889cac files/ghc-6.5-norelax.patch 578 +AUX ghc-6.6-nothreadedrts.patch 665 RMD160 402c8eb78dc648e55d1d7e00c695b49abe0f293d SHA1 8d0bc56096ebe781371dffa668de48a97173cd32 SHA256 bdfb000a70d97bb7341dda5a2ec48bb7f688532ade830eb2d73c7fa6ef1eead1 +MD5 ec4b234602e907111db61eb1193c719e files/ghc-6.6-nothreadedrts.patch 665 +RMD160 402c8eb78dc648e55d1d7e00c695b49abe0f293d files/ghc-6.6-nothreadedrts.patch 665 +SHA256 bdfb000a70d97bb7341dda5a2ec48bb7f688532ade830eb2d73c7fa6ef1eead1 files/ghc-6.6-nothreadedrts.patch 665 AUX ghc-updater 9045 RMD160 b044a26add18464b583702f3cac667521c5eb06f SHA1 f5ccd2bf9f78f895368a1ff64ceddd5703f1d13b SHA256 eafc2eb58a9c1ad0263fd498cad00f50b0d04860cd8e26aa201910f77d74efbe MD5 e7ba0887c43fd8333a4d1bd92c184244 files/ghc-updater 9045 RMD160 b044a26add18464b583702f3cac667521c5eb06f files/ghc-updater 9045 @@ -56,14 +63,14 @@ EBUILD ghc-6.4.2.ebuild 10933 RMD160 b67ba084a9ac90df327f855bdee9b3725423e938 SH MD5 ac3cc3e261445ecb6f28542b8896b590 ghc-6.4.2.ebuild 10933 RMD160 b67ba084a9ac90df327f855bdee9b3725423e938 ghc-6.4.2.ebuild 10933 SHA256 c689e94b6fdb59410aadfc7cf80ac5c4883791fb577e7370a266a721f9867a42 ghc-6.4.2.ebuild 10933 -EBUILD ghc-6.6.ebuild 9969 RMD160 3322ca2e3caf74f065fd2023c294e07f7dac9167 SHA1 cd8594b74eb63c64d198c03c156dd6f4c3bcffe6 SHA256 e81c4b5ddf5a5c4bb27470571bc69266e20be45fd6e3032ee22aab2153d6c2be -MD5 775b49ba69761e8876a3b11a0b662df1 ghc-6.6.ebuild 9969 -RMD160 3322ca2e3caf74f065fd2023c294e07f7dac9167 ghc-6.6.ebuild 9969 -SHA256 e81c4b5ddf5a5c4bb27470571bc69266e20be45fd6e3032ee22aab2153d6c2be ghc-6.6.ebuild 9969 -MISC ChangeLog 20424 RMD160 9ebd6b5e204d5eb7922924df3332cf6607827ec5 SHA1 3269d040b8a19d112c18c11f502b0515d0e00851 SHA256 97ffd0ae84d7d5d406b3395dabf7fdedcf3c2073042bee09707ca0feb719a1b3 -MD5 22914c50536194c85a6bc5af8c65b45f ChangeLog 20424 -RMD160 9ebd6b5e204d5eb7922924df3332cf6607827ec5 ChangeLog 20424 -SHA256 97ffd0ae84d7d5d406b3395dabf7fdedcf3c2073042bee09707ca0feb719a1b3 ChangeLog 20424 +EBUILD ghc-6.6.ebuild 10340 RMD160 e834c7776aa505b21a4577596eeb67cf4324e9e0 SHA1 3a2372b9bc7db73532eb98032677aab7e348b03d SHA256 37ba13089ce5f72fce922c2feac50ad2837df2b04b9c1b9307d5c739bf375284 +MD5 4287c81412ce7c025817ad686a2d64b9 ghc-6.6.ebuild 10340 +RMD160 e834c7776aa505b21a4577596eeb67cf4324e9e0 ghc-6.6.ebuild 10340 +SHA256 37ba13089ce5f72fce922c2feac50ad2837df2b04b9c1b9307d5c739bf375284 ghc-6.6.ebuild 10340 +MISC ChangeLog 20582 RMD160 ec33baca0c53e3294b319ce5d2259b6efd378f49 SHA1 26a4f7fb650abace320696cdb278903cd7f8aad6 SHA256 02a300ee8315f5c2b2abc23da05f492a60508d2be8ca98b3534e45bf649dece4 +MD5 f44d5788f00d85cd989180f522835f60 ChangeLog 20582 +RMD160 ec33baca0c53e3294b319ce5d2259b6efd378f49 ChangeLog 20582 +SHA256 02a300ee8315f5c2b2abc23da05f492a60508d2be8ca98b3534e45bf649dece4 ChangeLog 20582 MISC metadata.xml 223 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 SHA1 7b962c77f2e38479a9d1621ec8d307ca9f761753 SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508 MD5 c694674dcbef799cd4fdb6914683ebff metadata.xml 223 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 metadata.xml 223 @@ -83,3 +90,10 @@ SHA256 84f4b6adad832de57cc219499590df79b6be7ac5c96ec975e15aa37370269d40 files/di MD5 2255c6442cd019753ca35bad1f71e78f files/digest-ghc-6.6 241 RMD160 6d3e93d9851cfbf07c6e6df35e1b7adbf5c01903 files/digest-ghc-6.6 241 SHA256 08a1beeb6d4f6f1f6c33e3db553861106f19cfc95d6c84ef410efdae2ae6bda6 files/digest-ghc-6.6 241 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.3 (GNU/Linux) + +iD8DBQFGFnU0vQKeoJXyEaERArC8AJ4xrBzTn7sWot71/8FTVmHcaECvQQCfQ1He +fb11B83rDD7JQQEHNno6rTw= +=LbDd +-----END PGP SIGNATURE----- diff --git a/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch b/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch new file mode 100644 index 000000000000..24224203189f --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch @@ -0,0 +1,24 @@ +--- ghc-6.6/compiler/Makefile 2006-10-10 14:03:51.000000000 -0500 ++++ ghc-6.6.patched/compiler/Makefile 2007-04-04 11:57:06.000000000 -0500 +@@ -415,7 +415,9 @@ + PKG_DEPENDS += template-haskell + + # Use threaded RTS with GHCi, so threads don't get blocked at the prompt. ++ifneq "$(GhcNotThreaded)" "YES" + SRC_HC_OPTS += -threaded ++endif + + ALL_DIRS += ghci + +--- ghc-6.6/compiler/Makefile.ghcbin 2006-10-10 14:03:52.000000000 -0500 ++++ ghc-6.6.patched/compiler/Makefile.ghcbin 2007-04-04 11:57:30.000000000 -0500 +@@ -26,7 +26,9 @@ + SRC_HC_OPTS += -DGHCI -DBREAKPOINT + endif + ++ifneq "$(GhcNotThreaded)" "YES" + SRC_HC_OPTS += -threaded ++endif + + odir=stage$(stage) + diff --git a/dev-lang/ghc/ghc-6.6.ebuild b/dev-lang/ghc/ghc-6.6.ebuild index afabea0c4e28..5c1b896ce96f 100644 --- a/dev-lang/ghc/ghc-6.6.ebuild +++ b/dev-lang/ghc/ghc-6.6.ebuild @@ -1,11 +1,11 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.6.ebuild,v 1.2 2007/03/29 15:00:00 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.6.ebuild,v 1.3 2007/04/06 16:26:05 cparrott Exp $ # Brief explanation of the bootstrap logic: # # ghc requires ghc-bin to bootstrap. -# Therefore, +# Therefore, # (1) both ghc-bin and ghc provide virtual/ghc # (2) virtual/ghc *must* default to ghc-bin # (3) ghc depends on virtual/ghc @@ -167,6 +167,9 @@ src_unpack() { cd "${S}" # Fix sparc split-objs linking problem epatch "${FILESDIR}/ghc-6.5-norelax.patch" + + # Disable threaded runtime build to work around RTS bugs on sparc + epatch "${FILESDIR}/ghc-6.6-nothreadedrts.patch" } src_compile() { @@ -207,9 +210,16 @@ src_compile() { # Some arches do support some ghc features even though they're off by default use ia64 && echo "GhcWithInterpreter=YES" >> mk/build.mk - # And some arches used to work ok, but bork with recent gcc versions - # See bug #145466 for ppc64. - use ppc64 && echo "GhcUnregisterised=YES" >> mk/build.mk + # Workaround for threaded RTS bugs on sparc in ghc-6.6 + # This is rather draconian, hopefully upstream fixes this soon. + if use sparc; then + echo "GhcUnregisterised=YES" >> mk/build.mk + echo "GhcWithNativeCodeGen=NO" >> mk/build.mk + echo "GhcWithInterpreter=NO" >> mk/build.mk + echo "SplitObjs=NO" >> mk/build.mk + echo "GhcRTSWays := debug" >> mk/build.mk + echo "GhcNotThreaded=YES" >> mk/build.mk + fi # The SplitObjs feature makes 'ar'/'ranlib' take loads of RAM: CHECKREQS_MEMORY="200"