diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2010-07-09 15:03:24 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2010-07-09 15:03:24 +0000 |
commit | 01a5377c127aa9cd31f30cd8d1e0625fbd604f15 (patch) | |
tree | db9b58bd51ec04b3863a50c9a4e77328918b61f7 /dev-lang | |
parent | marked ~ia64 (diff) | |
download | historical-01a5377c127aa9cd31f30cd8d1e0625fbd604f15.tar.gz historical-01a5377c127aa9cd31f30cd8d1e0625fbd604f15.tar.bz2 historical-01a5377c127aa9cd31f30cd8d1e0625fbd604f15.zip |
Marked ~ia64 (as now we have ia64 binaries for ghc)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ghc/ChangeLog | 9 | ||||
-rw-r--r-- | dev-lang/ghc/Manifest | 12 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch | 35 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch | 63 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch | 35 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch | 62 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.10.4-r1.ebuild | 36 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.12.3.ebuild | 35 |
8 files changed, 255 insertions, 32 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 4f321297de08..fcabab979d01 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-lang/ghc # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.181 2010/07/07 22:18:57 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.182 2010/07/09 15:03:24 slyfox Exp $ + + 09 Jul 2010; Sergei Trofimovich <slyfox@gentoo.org> ghc-6.10.4-r1.ebuild, + +files/ghc-6.10.4-ia64-fixed-relax.patch, + +files/ghc-6.10.4-ia64-storage-manager-fix.patch, ghc-6.12.3.ebuild, + +files/ghc-6.12.3-ia64-fixed-relax.patch, + +files/ghc-6.12.3-ia64-storage-manager-fix.patch: + Added binaries for ia64 so readded ~ia64 keywords for 6.10.4 and 6.12.3 07 Jul 2010; Sergei Trofimovich <slyfox@gentoo.org> -ghc-6.10.4.ebuild, ghc-6.10.4-r1.ebuild, ghc-6.12.3.ebuild, diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index 9f33a3bf62e7..bc5ba0c9bacd 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -2,12 +2,16 @@ AUX 10ghc 40 RMD160 1c9e367fa4ea2fa2d3a046986b066b157964390a SHA1 33486a4907e814 AUX depsort.py 1958 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 SHA1 2c900abeb6cfcc4327f0e9418b5abd7761ce5879 SHA256 7406f639d17b8acab6a1db7e398e74379b44950d4821bc36901abd3455d63b3d AUX ghc-6.10.2-readline.patch 8612 RMD160 cf3c1539a55225439c7f16c698e622c5f6f0cd47 SHA1 82318ea6285fc9dd3ed31a023e0a349a4950473c SHA256 9be6fe23aed177c6dd16fcea4eb9ba39406ee365cb923b33d084dec451005464 AUX ghc-6.10.4-autoconf.patch 2010 RMD160 c5154aca1828ff5bf5289da6167c2218ad6cb1ab SHA1 a100d0ba94516eacc7dcb5d99fd3b69a72f6e658 SHA256 125afd89af86b32bcf88dd97860993dc6f7ef9920a3f3dfb577897837fbcf4fe +AUX ghc-6.10.4-ia64-fixed-relax.patch 1368 RMD160 83b75c2cb44c4b35d12206570c59830706314537 SHA1 9f6c81a9ca9657be580ffb232d4dc73ae1bfbe11 SHA256 f2862403cc89c3f7e83fcc569cf357597d70afd444194178eb2a299f16a938c3 +AUX ghc-6.10.4-ia64-storage-manager-fix.patch 2978 RMD160 27ed550d5cb75a6c1b1313d54934466e042d6c20 SHA1 937624c7bfff123cc6ad00bbfc4f46376b61080a SHA256 8b650cdfe0ba5657dd0bced3c07f9d3dca7a1e9304ac1d70099cacc0829650e2 AUX ghc-6.10.4-libm-detection.patch 1791 RMD160 37cf97b3477fbe3af11d558f0a5b83979c08e7a3 SHA1 2049ad0966df39ad298d7bc96d7a06e5bd52de71 SHA256 05eaaadb68ae16b7569a722008bc9a697c9dae84673b285400c6744cb600a3a9 AUX ghc-6.10.4-ppc64-always-minimal-toc.patch 289 RMD160 a0d32897bf9984050e36ab917c8ec4a5d1e29649 SHA1 d9961d4ae8d14ab59fe50952fb7aa92b55cb5185 SHA256 4d06007ca8a0542e120a189d49c743c1982f5b098504e031327b51f912cd69ad AUX ghc-6.10.4-propagate-hc-options-to-all-libraries.patch 2976 RMD160 f8947d8952bca884bbe894d3a74b0b3dd86a281e SHA1 a8c18dfb970767fdf9150ac157e95a61b8b9d92e SHA256 d8d191dea237d2492202fbc528deaebe5df7a48201868a2b969a5865758cb4cb AUX ghc-6.12.1-configure-CHOST.patch 851 RMD160 b85347a79d52270e1077c5a6e6ad675dd9a9b24d SHA1 e271c878ad3a7a00078c01858923ab6b814b2474 SHA256 b4e1ebeea2fdd1e04f14140fe07d991ac583f221bc79f0eb175fb378ed12cd69 AUX ghc-6.12.2-configure-CHOST-part2.patch 958 RMD160 cab606658d051c3b5f5751df2c383d00ba6b5ee7 SHA1 58a26fc518e4e4b587c1742c709bc59d24b871cc SHA256 696cf5693b714b2c19cd3f32d5e96677cf9ad828a3f151f0c16fbc16585227a4 AUX ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch 2575 RMD160 53dd2e84868f8b66e4d8741b121177bf8e305924 SHA1 2b25421962df33044d8f0556756563ab7d5b1a9d SHA256 9b9748775ddcafa0171f1594c4f5e0c90269e4fd65837d9167b127238cec3d93 +AUX ghc-6.12.3-ia64-fixed-relax.patch 1362 RMD160 81224e6cc74d20b80b93c55eaeda7e2a6a7e3ae0 SHA1 d93beaf3fa9fa37b87f6fc6c7fc85d488ff809c3 SHA256 db632a48cef7fdce8fd24759af33527d489121ce3e67cbbcd235608aa0247a31 +AUX ghc-6.12.3-ia64-storage-manager-fix.patch 3035 RMD160 067caf41e1ba60b5215b16eafeaec262904e2e2a SHA1 12a9ef095286f22e9b7107af28bff6916c3700d2 SHA256 9e08ad179c7fdc7de1899f89560ec26215968187956f2853639bbe85650fa2ab AUX ghc-6.4.2-sparc32plus.patch 526 RMD160 970d062362284659c2570394c8f9328d8096ea8e SHA1 40d25c25a3cd6a228f3757b8e298fd8c72710544 SHA256 a05bd16c9308ec9f608aeabe0ea35e2dff6826f262108d1ccb16c4f93a2d3a44 AUX ghc-6.4.2-sparcmangler.patch 837 RMD160 7e3a2a94bb62c3c0da09f08096481cace2b1bb96 SHA1 5faccb311239c4c4d07a2c6dc507d51a18c2bc96 SHA256 3987724420c6d4b552c6fbb3b3ca10fca8aaa73573735aa3de824d3dc65f94af AUX ghc-6.5-norelax.patch 613 RMD160 71012d8615e164c72d0db75c8cc606ccf8e3ddd9 SHA1 4bab0e904d9950ba92e16b3932635e5a1c3edee1 SHA256 0da9630bbd28edee7538d857dbeefd6d4cdddafd198499e61513f2f4d44c2fc0 @@ -31,6 +35,7 @@ DIST ghc-6.6.1-src.tar.bz2 4339970 RMD160 6b82a74559425fe5fe1fa1b67a83433457bae0 DIST ghc-6.8.2-src.tar.bz2 7072545 RMD160 dc555c3137d9314a6ee6a0b7ad62c0ba16d9d52c SHA1 1f40b0ee2e51be1208fdb579ce4998181ec36a40 SHA256 2d10f973c35e8d7d9f62b53e26fef90177a9a15105cda4b917340ba7696a22d9 DIST ghc-bin-6.10.4-alpha.tbz2 84499083 RMD160 5f68a5592663d7c6abf3617ccab9aa35cbfc2d63 SHA1 88fb6020bf1fab2e0914c223087af94e926a1dda SHA256 cfe28ea83e000f1ba0853b78dd27b35fa5d823c4cb94699f901aec5e2705c315 DIST ghc-bin-6.10.4-amd64.tbz2 51566179 RMD160 68b261b4bbef89021a2c92e99c70db45ed85d9e7 SHA1 27e542cc49fa47566c59407fad1c9254d46a8d03 SHA256 2ced87862603a44a59744459a8231f587c0f225f70eb4861ad2db5098c2433a1 +DIST ghc-bin-6.10.4-ia64.tbz2 86508052 RMD160 ea1f1de73be8ca51abd8eb748d92694ea4ade2f6 SHA1 eea28fe871e1e3821b370715930864d7fd955181 SHA256 2e8f03eec65329abb15c3d3351d8d4f896ac6c7fc8a8b3815807c3bd0329292e DIST ghc-bin-6.10.4-ppc.tbz2 63982893 RMD160 f1613a05c2d647229ab480c9ee964bbabd0971e5 SHA1 2342da36138a08c70a0bac3c8c66ea228123593e SHA256 8aec35a2fbb2897ba7fdb3901b65a7d67cb9409526e747f62e31eaea770f0357 DIST ghc-bin-6.10.4-ppc64.tbz2 67637446 RMD160 ff0bed846e91dcf094142fc6b75f29c9d8521424 SHA1 858406875ade2f1aad8b2ae731bf9ce3fa613f1c SHA256 1ef7d4daf50cc0998651d498d029a5455fb6c410c0abb6a2b23b118ae69e9c54 DIST ghc-bin-6.10.4-sparc.tbz2 65780774 RMD160 60a431055ce065d2489f2258111e2fb322cd90ec SHA1 bf591efa07e6be805285a800e3832377e303b4f8 SHA256 6ee4d05fb68e622bac960355d928881a2ddd7ce82a10763333e0a8daa93f6d89 @@ -42,6 +47,7 @@ DIST ghc-bin-6.12.1-sparc.tbz2 78900078 RMD160 b77c66ace7146651cb54cd14f263a0445 DIST ghc-bin-6.12.1-x86.tbz2 82182666 RMD160 4ef08aa170283d86f0b63cd1626cec6d5f98de26 SHA1 abc2ba41ed4b6ddea794d35da11c4ea47defb36f SHA256 7ed1c64dd095bd09967155c2fea377e9baec38a26b7156c3d6257a45c58429ea DIST ghc-bin-6.12.3-alpha.tbz2 106110912 RMD160 f16d9e157eea5491871c19d3b86a4047935a7936 SHA1 17e2b02cd83aa31c7bccbeacde17225e38f62c11 SHA256 e2c50259619b8139a13af38eb1a5803cb2385a916ca2102490d5ab0905db797c DIST ghc-bin-6.12.3-amd64.tbz2 82390661 RMD160 d1252e69ebab119a3c04c247b0665df5702ada6d SHA1 27b78fce6a21b4050a1f2cdcb4f005ab18750d7d SHA256 6a1c9978c4ad19bb98f70b900afa799f16cfd3e159bb6d51437c264e35f4d6cc +DIST ghc-bin-6.12.3-ia64.tbz2 107428689 RMD160 90c680b4e18ea33541d07a86d180f31f0ba1c00f SHA1 34310a87a1ce6d1fe2d4d1eab4fd07012d0648f3 SHA256 b0a3f350765fb390526f30ea17b3d91882a0595d82b12be3fa25d457f4b521ac DIST ghc-bin-6.12.3-ppc64.tbz2 95781107 RMD160 b089772ef07a33db30084727a286a14e7a519f39 SHA1 2eab23cf6ee89cb188db0d77ae653ddceaf95ba0 SHA256 62c2424c97381be4e0e5f5bf1312a24ebe97c85a52d62bd9e35f991b6ec568f0 DIST ghc-bin-6.12.3-x86.tbz2 82262946 RMD160 8256df61e6998d819c7d40d613037c5f313c948b SHA1 73dc4422bbabf5c0d8de4a6672db4b3fedd42f9c SHA256 0d74a18473d6303e8818a6bd1de87f6dfd86466e7d967d68707a6c255a96945d DIST ghc-bin-6.2.2-r1-ppc.tbz2 21018465 RMD160 4dda12e11ce31d395d1085e441171580832003f7 SHA1 0b0f3c5a77612a52317914730c0ecb15bd75d719 SHA256 453babea6a9c3d3382b9987f5e40d184dd3e591a7b1d1f6bd6d41984d94f4dd4 @@ -75,14 +81,14 @@ DIST ghc-bin-6.8.2-x86.tbz2 30872949 RMD160 ce2f9f6fe88440ba3574d85c219e96210d35 DIST ghc-bundled-readline-5.2_p13-amd64.tbz2 976677 RMD160 f0543aa3f404d45aad4360cc07b777c3aaafc5fb SHA1 1737eae6fe00c4924577e6eb8fa5d2c7eb0b24ca SHA256 f67250899590a551278695bcb7f143c5a6423ea47e5e6966615072cc0f9b51f0 DIST ghc-bundled-readline-5.2_p13-x86.tbz2 940742 RMD160 5f9470a99047f004bd0917c62253bff9b663c9a5 SHA1 f5463a8929d2ba792b91085f78d6763cb50ef14e SHA256 bb9766235ed0d6e3c2f3ffe1625ecbe8e4d2e0254f7060e845be3a404835cd2a DIST ghc-testsuite-6.4.2.tar.gz 1181389 RMD160 1eea6a19a9fca6b3d56a6f29b69289cb88af8173 SHA1 7ada60fe2abb9208d841787781d522d5a1110dc2 SHA256 1a864243e922c233049585fa3bf4a86a0ca3e7b3ffebf26245eb037f15dd4d12 -EBUILD ghc-6.10.4-r1.ebuild 12077 RMD160 c33e1768736414640ed3016ffc5b16ba175580af SHA1 cbd9f0e47cf5a3fa90f8bbff576ff9431bae72e0 SHA256 b3e91259fc9ae2cc694abbb0fb8a02e1cd60cacd9b25333e34078de3ae7d9c2a +EBUILD ghc-6.10.4-r1.ebuild 12142 RMD160 1ab046956849ecf53010baead6744b06c15e2ff5 SHA1 ea2528f49fd84380746114b3c9c54c9d558c60b1 SHA256 e4c47b46e19e28d691c3924b3c56a62841337e4cb2fa5c7ab086721a7582c96b EBUILD ghc-6.12.1.ebuild 11580 RMD160 f46eb36df08807fd5fb3d2e57eafde0f426c39f2 SHA1 479a43cd181f40cff1419f946e61294a0830302b SHA256 263225b989efd251dd660eefbeff6ca34c1464dc30610d329e6218f68104b2c1 -EBUILD ghc-6.12.3.ebuild 12896 RMD160 ee11bd65a5cb3c7515a09d6254769cb0819bb0f1 SHA1 bb35df198a705f67acfd29d253e9f32037419c01 SHA256 d25c2863259a328f54453d639fdfad724101cc98eee83e086cf283b533e6285e +EBUILD ghc-6.12.3.ebuild 12954 RMD160 74dd00e698a4c6b81d218e1efb5e036327f18fd7 SHA1 dc03184e17982008ead2926e149c432a78a7d604 SHA256 1a27032ee83799eb1fb1c7a6858056da416b8dc435f2c53e1a783968f88e4f44 EBUILD ghc-6.2.2.ebuild 10387 RMD160 3f30eb547a048ae8a911831d6b6ac04528f7bbcf SHA1 c08282a3a2e60cfb8f742fbb8607ae1819ca3be8 SHA256 201ce669c29ee075e24f03e9abd0510aa172e000e240fadcf89c096004789935 EBUILD ghc-6.4.2.ebuild 13488 RMD160 6aee6876535e79ac3cb3ab8ee3ed8718dd87eb14 SHA1 cff66990f5645f19f58c9dba239a723c1fa03cac SHA256 662fadc150d79ef9d666f76153278ce9a76ebef6f64b5d82a13a53d2c41c8ba5 EBUILD ghc-6.6.1.ebuild 12113 RMD160 e0913733eb047f13f78bdec1fa202a5c312c2526 SHA1 dd10dda46adae7dadefda6fe5140002d521688f1 SHA256 14e013e3348c8d962776b2ecab2ce6b4a2b1ff0cfbbb007811dfc529df30ca55 EBUILD ghc-6.6.ebuild 10758 RMD160 bbed00228fd200da1a2eab05b1ceafaaf3e50610 SHA1 d6766e84f761637444950ae0ffdfdba9e5aa6c65 SHA256 3939b0a97602cc8ff2227a6afb9aa785cfd11bbb64ec30849f20b0ba0cd2eb29 EBUILD ghc-6.8.2-r1.ebuild 8929 RMD160 850372ce4198549dd1b9e3cbc7c8d430ba2b1cb5 SHA1 aa4eaaeebe6195deebc9ddb8db7d69d9eac036d0 SHA256 5ea452a3773b3cacd87ff6a04aa547cec7a9654c57580b9c0de2430a27e479f5 EBUILD ghc-6.8.2.ebuild 8981 RMD160 85a32ec3ec9ebc1f2651c2a3aa86e374999dca87 SHA1 d01d8503d7668465b5f5d6151145297239e96c76 SHA256 57f147cd2177a1a279d406a0a93f4fac9c7b2c631fe91ab57b3903513de53da7 -MISC ChangeLog 32032 RMD160 12f3a812da570426bffaba7fdba66aeb9aab9bbf SHA1 dca0a57166a5b905f2ae5cde49742148afe53d6b SHA256 abe9760c3e01407c6ea76a91d19937947cd573027a3df2a3d21edc8011f12e9b +MISC ChangeLog 32394 RMD160 c1bd8ea5a93075f9da649d01722a2bea7b658825 SHA1 36471f3df64f37a130a75aa71d6f505009a13594 SHA256 fe2eb512cce27909dd95fbe8be253a7327e5bd4c2690a28267fdc062a2017592 MISC metadata.xml 442 RMD160 9cfa0af9084477c8a70ecf0ac3fb3093ae0cd602 SHA1 be2833090f093ac1c8fc2f5c6f3f253bdbdd6b96 SHA256 2bacbdfcaea11289949a687626f59f99af8fda9ec495b2c349ce5898d9f0dcd4 diff --git a/dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch b/dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch new file mode 100644 index 000000000000..b9fa2925bb69 --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch @@ -0,0 +1,35 @@ +commit dcdb5df8bc0e973b856e88a7b78f88f947453feb +Author: Sergei Trofimovich <slyfox@gentoo.org> +Date: Tue Jul 6 11:38:47 2010 +0300 + + Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld) + + /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \ + dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ... + /usr/bin/ld: unrecognized option '-Wl,--relax' + + If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible. + + Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option. + Removing ia64 specific path. + + Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> + +diff --git a/compiler/Makefile b/compiler/Makefile +index 0e7457b..17deab2 100644 +--- a/compiler/Makefile ++++ b/compiler/Makefile +@@ -130,13 +130,6 @@ ifeq "$(TargetOS_CPP)" "openbsd" + COMMON_CONFIGURE_FLAGS += --ld-options=-E + endif + +-ifeq "$(GhcUnregisterised)" "NO" +-ifeq "$(HOSTPLATFORM)" "ia64-unknown-linux" +-# needed for generating proper relocation in large binaries: trac #856 +-COMMON_CONFIGURE_FLAGS += --ld-option=-Wl,--relax +-endif +-endif +- + # We need to turn on profiling either if we have been asked to + # (GhcLibProfiled = YES) or if we want GHC itself to be compiled with + # profiling enabled (GhcProfiled = YES). diff --git a/dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch b/dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch new file mode 100644 index 000000000000..37daea5d55ca --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch @@ -0,0 +1,63 @@ +storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid) + +the issue: durin ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I +got the failure on stage2 phase: + "inplace/bin/ghc-stage2" -H32m -O -H64m -O0 -w ... + ghc-stage2: internal error: evacuate: strange closure type 15 + (GHC version 6.12.3 for ia64_unknown_linux) + Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug + make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted + +I attached gdb and got backtrace: + +Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39. +(gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info +Starting program: /var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/lib/ghc-stage2 -B/var/tmp/portage/dev-lang/ +ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info +[Thread debugging using libthread_db enabled] + +Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 +39 va_start(ap,s); +(gdb) bt +#0 barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 +#1 0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756 +#2 0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348 +... + +> 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q) +> is returning true for a FUN_STATIC closure +> 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) +> 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) +> 17:19:12 < slyfox> $1 = 0 +> 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken +> 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33 +> bits and different high 4 bits, and it looks like such pointers get put into the same bucket in +> mblock_cache. +... +> 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps +> 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h +And it helped! + +diff --git a/rts/sm/MBlock.h b/rts/sm/MBlock.h +index 516fb7f..725d32f 100644 +--- a/rts/sm/MBlock.h ++++ b/rts/sm/MBlock.h +@@ -117,7 +117,17 @@ extern StgWord8 mblock_map[]; + + #define MBC_LINE_BITS 0 + #define MBC_TAG_BITS 15 +-typedef StgWord32 MbcCacheLine; // could use 16, but 32 was faster ++ ++#if x86_64_HOST_ARCH ++// 32bits are enough for 'entry' as modern amd64 boxes have ++// only 48bit sized virtual addres. ++typedef StgWord32 MbcCacheLine; ++#else ++// 32bits is not enough here as some arches (like ia64) use ++// upper address bits to distinct memory areas. ++typedef StgWord64 MbcCacheLine; ++#endif ++ + typedef StgWord8 MBlockMapLine; + + #define MBLOCK_MAP_LINE(p) (((StgWord)p & 0xffffffff) >> (MBLOCK_SHIFT + MBC_LINE_BITS)) diff --git a/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch b/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch new file mode 100644 index 000000000000..37bfab110fd0 --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch @@ -0,0 +1,35 @@ +commit 7b45030b81fb0588b858400c051f9f7c10ef2760 +Author: Sergei Trofimovich <slyfox@gentoo.org> +Date: Tue Jul 6 11:39:18 2010 +0300 + + Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld) + + /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \ + dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ... + /usr/bin/ld: unrecognized option '-Wl,--relax' + + If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible. + + Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option. + Removing ia64 specific path. + + Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> + +diff --git a/compiler/ghc.mk b/compiler/ghc.mk +index 6b25efa..29d3ade 100644 +--- a/compiler/ghc.mk ++++ b/compiler/ghc.mk +@@ -337,13 +337,6 @@ ifeq "$(TargetOS_CPP)" "openbsd" + compiler_CONFIGURE_OPTS += --ld-options=-E + endif + +-ifeq "$(GhcUnregisterised)" "NO" +-ifeq "$(HOSTPLATFORM)" "ia64-unknown-linux" +-# needed for generating proper relocation in large binaries: trac #856 +-compiler_CONFIGURE_OPTS += --ld-option=-Wl,--relax +-endif +-endif +- + # We need to turn on profiling either if we have been asked to + # (GhcLibProfiled = YES) or if we want GHC itself to be compiled with + # profiling enabled (GhcProfiled = YES). diff --git a/dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch b/dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch new file mode 100644 index 000000000000..1458dcc7d8b6 --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch @@ -0,0 +1,62 @@ +storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid) + +the issue: durin ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I +got the failure on stage2 phase: + "inplace/bin/ghc-stage2" -H32m -O -H64m -O0 -w ... + ghc-stage2: internal error: evacuate: strange closure type 15 + (GHC version 6.12.3 for ia64_unknown_linux) + Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug + make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted + +I attached gdb and got backtrace: + +Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39. +(gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info +Starting program: /var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/lib/ghc-stage2 -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info +[Thread debugging using libthread_db enabled] + +Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 +39 va_start(ap,s); +(gdb) bt +#0 barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 +#1 0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756 +#2 0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348 +... + +> 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q) +> is returning true for a FUN_STATIC closure +> 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) +> 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) +> 17:19:12 < slyfox> $1 = 0 +> 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken +> 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33 +> bits and different high 4 bits, and it looks like such pointers get put into the same bucket in +> mblock_cache. +... +> 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps +> 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h +And it helped! + +diff --git a/includes/rts/storage/MBlock.h b/includes/rts/storage/MBlock.h +index 0943d4c..a113498 100644 +--- a/includes/rts/storage/MBlock.h ++++ b/includes/rts/storage/MBlock.h +@@ -126,7 +126,17 @@ extern StgWord8 mblock_map[]; + + #define MBC_LINE_BITS 0 + #define MBC_TAG_BITS 15 +-typedef StgWord32 MbcCacheLine; // could use 16, but 32 was faster ++ ++#if x86_64_HOST_ARCH ++// 32bits are enough for 'entry' as modern amd64 boxes have ++// only 48bit sized virtual addres. ++typedef StgWord32 MbcCacheLine; ++#else ++// 32bits is not enough here as some arches (like ia64) use ++// upper address bits to distinct memory areas. ++typedef StgWord64 MbcCacheLine; ++#endif ++ + typedef StgWord8 MBlockMapLine; + + #define MBLOCK_MAP_LINE(p) (((StgWord)p & 0xffffffff) >> (MBLOCK_SHIFT + MBC_LINE_BITS)) diff --git a/dev-lang/ghc/ghc-6.10.4-r1.ebuild b/dev-lang/ghc/ghc-6.10.4-r1.ebuild index 1a238f495e1b..18f03a040e1b 100644 --- a/dev-lang/ghc/ghc-6.10.4-r1.ebuild +++ b/dev-lang/ghc/ghc-6.10.4-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.10.4-r1.ebuild,v 1.6 2010/07/07 22:18:57 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.10.4-r1.ebuild,v 1.7 2010/07/09 15:03:24 slyfox Exp $ # Brief explanation of the bootstrap logic: # @@ -43,22 +43,17 @@ arch_binaries="" arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~ivanm/ghc-bin-${PV}-alpha.tbz2 )" arch_binaries="$arch_binaries x86? ( http://code.haskell.org/~ivanm/ghc-bin-${PV}-x86.tbz2 )" arch_binaries="$arch_binaries amd64? ( http://haskell.org/~kolmodin/ghc-bin-${PV}-amd64.tbz2 )" +arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64.tbz2 )" arch_binaries="$arch_binaries sparc? ( http://haskell.org/~duncan/ghc/ghc-bin-${PV}-sparc.tbz2 )" arch_binaries="$arch_binaries ppc64? ( http://code.haskell.org/~slyfox/ghc-ppc64/ghc-bin-${PV}-ppc64.tbz2 )" -arch_binaries="$arch_binaries ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 )" - -#arch_binaries="$arch_binaries alpha? ( mirror://gentoo/ghc-bin-${PV}-alpha.tbz2 )" -#arch_binaries="$arch_binaries amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 )" -#arch_binaries="$arch_binaries ia64? ( mirror://gentoo/ghc-bin-${PV}-ia64.tbz2 )" -#arch_binaries="$arch_binaries sparc? ( mirror://gentoo/ghc-bin-${PV}-sparc.tbz2 )" -#arch_binaries="$arch_binaries x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 )" +arch_binaries="$arch_binaries ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 )" SRC_URI="!binary? ( http://haskell.org/ghc/dist/${EXTRA_SRC_URI}/${P}-src.tar.bz2 ) !ghcbootstrap? ( $arch_binaries )" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" IUSE="binary doc ghcbootstrap" RDEPEND=" @@ -197,7 +192,13 @@ src_unpack() { # http://hackage.haskell.org/trac/ghc/ticket/3730 epatch "${FILESDIR}/ghc-6.10.4-libm-detection.patch" - # as we have changed the build system with the readline patch + # -r and --relax are incompatible + epatch "${FILESDIR}/ghc-6.10.4-ia64-fixed-relax.patch" + + # prevent from wiping upper address bits used in cache lookup + epatch "${FILESDIR}/ghc-6.10.4-ia64-storage-manager-fix.patch" + + # as we have changed the build system eautoreconf fi } @@ -231,17 +232,24 @@ src_compile() { # portage logging) reported as bug #111183 echo "SRC_HC_OPTS+=-w" >> mk/build.mk - # GHC build system knows to build unregisterised on alpha, - # but we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs + # some arches do not support ELF parsing for ghci module loading + # PPC64: never worked (should be easy to implement) + # alpha: never worked if use alpha || use ppc64; then - echo "GhcUnregisterised=YES" >> mk/build.mk echo "GhcWithInterpreter=NO" >> mk/build.mk + fi + + # we have to tell it to build unregisterised on some arches + # ppc64: EvilMangler currently does not understand some TOCs + # ia64: EvilMangler bitrot + if use alpha || use hppa || use ia64 || use ppc64; then + echo "GhcUnregisterised=YES" >> mk/build.mk echo "GhcWithNativeCodeGen=NO" >> mk/build.mk echo "SplitObjs=NO" >> mk/build.mk echo "GhcRTSWays := debug" >> mk/build.mk echo "GhcNotThreaded=YES" >> mk/build.mk fi + # Have "ld -r --relax" problem with split-objs on sparc: if use sparc; then echo "SplitObjs=NO" >> mk/build.mk diff --git a/dev-lang/ghc/ghc-6.12.3.ebuild b/dev-lang/ghc/ghc-6.12.3.ebuild index 9014f2d5aefd..652e5513487a 100644 --- a/dev-lang/ghc/ghc-6.12.3.ebuild +++ b/dev-lang/ghc/ghc-6.12.3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.12.3.ebuild,v 1.4 2010/07/07 22:18:57 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.12.3.ebuild,v 1.5 2010/07/09 15:03:24 slyfox Exp $ # Brief explanation of the bootstrap logic: # @@ -38,20 +38,15 @@ arch_binaries="" arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~slyfox/ghc-alpha/ghc-bin-${PV}-alpha.tbz2 )" arch_binaries="$arch_binaries x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 )" arch_binaries="$arch_binaries amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 )" +arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64.tbz2 )" #arch_binaries="$arch_binaries sparc? ( http://haskell.org/~duncan/ghc/ghc-bin-${PV}-sparc.tbz2 )" arch_binaries="$arch_binaries ppc64? ( mirror://gentoo/ghc-bin-${PV}-ppc64.tbz2 )" -#arch_binaries="$arch_binaries alpha? ( mirror://gentoo/ghc-bin-${PV}-alpha.tbz2 )" -#arch_binaries="$arch_binaries amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 )" -#arch_binaries="$arch_binaries ia64? ( mirror://gentoo/ghc-bin-${PV}-ia64.tbz2 )" -#arch_binaries="$arch_binaries sparc? ( mirror://gentoo/ghc-bin-${PV}-sparc.tbz2 )" -#arch_binaries="$arch_binaries x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 )" - SRC_URI="!binary? ( http://darcs.haskell.org/download/dist/${PV}/${P}-src.tar.bz2 ) !ghcbootstrap? ( $arch_binaries )" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc64 ~x86" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc64 ~x86" IUSE="binary doc ghcbootstrap" RDEPEND=" @@ -202,10 +197,15 @@ src_unpack() { epatch "${FILESDIR}/ghc-6.12.1-configure-CHOST.patch" epatch "${FILESDIR}/ghc-6.12.2-configure-CHOST-part2.patch" + # -r and --relax are incompatible + epatch "${FILESDIR}/ghc-6.12.3-ia64-fixed-relax.patch" + + # prevent from wiping upper address bits used in cache lookup + epatch "${FILESDIR}/ghc-6.12.3-ia64-storage-manager-fix.patch" + # fixes build failure of adjustor code epatch "${FILESDIR}/ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch" - - # as we have changed the build system with the readline patch + # as we have changed the build system eautoreconf fi } @@ -242,17 +242,24 @@ src_compile() { # portage logging) reported as bug #111183 echo "SRC_HC_OPTS+=-w" >> mk/build.mk - # GHC build system knows to build unregisterised on alpha, - # but we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs + # some arches do not support ELF parsing for ghci module loading + # PPC64: never worked (should be easy to implement) + # alpha: never worked if use alpha || use ppc64; then - echo "GhcUnregisterised=YES" >> mk/build.mk echo "GhcWithInterpreter=NO" >> mk/build.mk + fi + + # we have to tell it to build unregisterised on some arches + # ppc64: EvilMangler currently does not understand some TOCs + # ia64: EvilMangler bitrot + if use alpha || use hppa || use ia64 || use ppc64; then + echo "GhcUnregisterised=YES" >> mk/build.mk echo "GhcWithNativeCodeGen=NO" >> mk/build.mk echo "SplitObjs=NO" >> mk/build.mk echo "GhcRTSWays := debug" >> mk/build.mk echo "GhcNotThreaded=YES" >> mk/build.mk fi + # Have "ld -r --relax" problem with split-objs on sparc: if use sparc; then echo "SplitObjs=NO" >> mk/build.mk |