From 95e50be601019ff01927ce39e19c92f971e23211 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Tue, 3 Feb 2015 21:12:28 +0000 Subject: [PATCH] Add fixed older versions for PPC and comparisons by Michael Weiser, bug #538384 Package-Manager: portage-2.2.14-prefix/cvs/Darwin i386 Manifest-Sign-Key: 0x5F75F607C5C74E89 --- sys-devel/binutils-apple/ChangeLog | 14 +- sys-devel/binutils-apple/Manifest | 21 +- .../binutils-apple-4.2-r1.ebuild | 328 ++++++++++++++++++ .../binutils-apple-4.3-r1.ebuild | 316 +++++++++++++++++ .../binutils-apple-4.2-globals-extern.patch | 29 ++ .../files/cctools-839-lto.patch | 42 --- .../binutils-apple/files/ld64-127.2-Makefile | 50 +++ .../files/ld64-127.2-extraneous-headers.patch | 12 + .../files/ld64-127.2-thread_state.patch | 13 + .../files/ld64-128.2-1010.patch | 20 ++ .../files/ld64-128.2-Makefile-2 | 50 +++ 11 files changed, 850 insertions(+), 45 deletions(-) create mode 100644 sys-devel/binutils-apple/binutils-apple-4.2-r1.ebuild create mode 100644 sys-devel/binutils-apple/binutils-apple-4.3-r1.ebuild create mode 100644 sys-devel/binutils-apple/files/binutils-apple-4.2-globals-extern.patch delete mode 100644 sys-devel/binutils-apple/files/cctools-839-lto.patch create mode 100644 sys-devel/binutils-apple/files/ld64-127.2-Makefile create mode 100644 sys-devel/binutils-apple/files/ld64-127.2-extraneous-headers.patch create mode 100644 sys-devel/binutils-apple/files/ld64-127.2-thread_state.patch create mode 100644 sys-devel/binutils-apple/files/ld64-128.2-1010.patch create mode 100644 sys-devel/binutils-apple/files/ld64-128.2-Makefile-2 diff --git a/sys-devel/binutils-apple/ChangeLog b/sys-devel/binutils-apple/ChangeLog index 98374f20f492..115df792b8eb 100644 --- a/sys-devel/binutils-apple/ChangeLog +++ b/sys-devel/binutils-apple/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for sys-devel/binutils-apple # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/ChangeLog,v 1.38 2015/01/31 02:33:23 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/ChangeLog,v 1.39 2015/02/03 21:12:23 grobian Exp $ + +*binutils-apple-4.2-r1 (03 Feb 2015) +*binutils-apple-4.3-r1 (03 Feb 2015) + + 03 Feb 2015; Fabian Groffen + +binutils-apple-4.2-r1.ebuild, +binutils-apple-4.3-r1.ebuild, + +files/binutils-apple-4.2-globals-extern.patch, +files/ld64-127.2-Makefile, + +files/ld64-127.2-extraneous-headers.patch, + +files/ld64-127.2-thread_state.patch, +files/ld64-128.2-1010.patch, + +files/ld64-128.2-Makefile-2, -files/cctools-839-lto.patch: + Add fixed older versions for PPC and comparisons by Michael Weiser, bug + #538384 31 Jan 2015; Patrick Lauer binutils-apple-3.1.2.ebuild, binutils-apple-3.2.6.ebuild, binutils-apple-3.2.ebuild, diff --git a/sys-devel/binutils-apple/Manifest b/sys-devel/binutils-apple/Manifest index 3e10b93b005a..cdc6d5d6dad4 100644 --- a/sys-devel/binutils-apple/Manifest +++ b/sys-devel/binutils-apple/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + AUX Makefile 246 SHA256 eadeb8c0339d90728868200ce7015fa643564e5f024db5ec8b602ec8318b3716 SHA512 f38baeb942ad678a02191d72d70f54303a7f2229abf702f328ff6381ce45a63eab214bc9ad72159dd7c6373aa2a2fab52b99794fb37f21101efe6f4fd8f548f7 WHIRLPOOL 1d04f586cbce3fa515651b8f5943230a7d1906614d138e31961016eaa275cca91a22115b6a6e93a9b2940a0fdd238e39453b8439c5344a9b704753eaab90d6cb AUX binutils-apple-3.1.1-as-dir.patch 1531 SHA256 767b44fd052acdea83a55e80c6fccb413ba6044895414eb2f54086a09d1561ce SHA512 6a9c3749f8201e725827a71d5da5b311ab44c20ee11c635a7d2bc440365b8217a249e76531fc4622bb32467eb9eeee882243ced9adea597bcda57e3adac75ec0 WHIRLPOOL 64be761f779bd3ddb9f518455cee7ad0bf23de0aa7b645fcba8d73364363cfead1cf81c462076ed23d7b37aa85a3fab461b8eb8446d48f3ba210b63fbb533aa0 AUX binutils-apple-3.1.1-as.patch 2659 SHA256 56bacc3100fc2804d09368042f9e0389729762f84d3d5f674a0b43c76512286d SHA512 54cf9b7472e54ca1a5d45b7864f5593e59d0bf0a7a01f3f80ca7c1a73ab11bae14856e09c566de287eea516c09c0608ecf7f07d8890e5cd3c0ff5f2fba092c3a WHIRLPOOL 8aa3668860da12d1103a8acf1591c7a8d5ebc8a788ac263bfeec78cc44fc959ab52b5b2c7fc94551a6fc9716d8a38353c9c51716b26947ee0dcdc78e89f8a8f9 @@ -16,6 +19,7 @@ AUX binutils-apple-4.0-as-dir.patch 1458 SHA256 b33439299340b311ef606e11427a7ded AUX binutils-apple-4.0-as.patch 2738 SHA256 b068f2a8bff9fb8f7dd92eb64c9587c9517ef51e682211f81b57e69b7e25fdef SHA512 7cc567e7ce6da8224c2a3d595e2c4080637ef92f4c85005c581ea7d69aba3872ed4956b5ff9ac6309d78de7d101a45bb9188925fd477c4840ce38b94126e732e WHIRLPOOL 5172ed18a33f5f7bbe282fa9f5c7c587cec49809371cf1149df487b5561e5d291a6b4f091c4355932aa3dc4a417ce8b95706ac9c377885f2fd077a5e2ccc29f7 AUX binutils-apple-4.0-no-oss-dir.patch 604 SHA256 fda851a89d86ecc4c90850b4d744daae478e2e55f83522d51a50c2a28f09223f SHA512 399a60fd1e9735d53e2cb48a234799b5b28bf5c82e149eb5a4f34eb2c8e84f8d71e9fa0e310e6c61053c6a3dbec052d8f1318c0544bd905fb7821c7e95c910ec WHIRLPOOL e59a6c50e0a833d915f5e4defe52ff0bb5bd696f2a463ea37e183ad8b5b765bde7a07e7f9c686c79af79a288a3ccf2a0bead3e505122b081eda37874eb4f39ff AUX binutils-apple-4.2-as-dir.patch 1089 SHA256 d964d09b75265af6cc84bb9aa8e772c0d1655fc8d7e5ddef7155a4ef019be26a SHA512 c7fcd1ddd7052f2c4235b33cbaf793bcd5dbbc892005c852bafda32f5e1a6744f45ea7991ca13a76514798bc36222570bfcfde5cd3db60c9e7e03514593fa52e WHIRLPOOL 2e9b8a1da6f947a150f291dbd0b96679c782fa57a46cc65b55c6aa5c80c866842187566a05f695d4a9c402ddd069604bd479668c775fde8ccf76fd0130716ab5 +AUX binutils-apple-4.2-globals-extern.patch 1207 SHA256 00b4aa5b2ddbd999f54ba7c25b08c948814823fa2ecc39f3cd7ae6cec791999c SHA512 fa09bc1e1de6e78970f983905cead92df861e073413bc49bc3310bc66617ec92468aa9e2090ea0442db98afa61b6f82a1085a905ea0e33d1ed20ac2f0ed9de22 WHIRLPOOL 52cf5226ad6eec63e347855a9894d4296cc0031f2762ac8e55a21814077ab89458c0d53a2917222192c3ad7ef17cc913263f7a2e55e58f4009c468fe88b8f140 AUX binutils-apple-4.2-lto.patch 859 SHA256 c9f3e1b28740454c35034dc0ebd135fc7410f4799f0e077dafb0456c9c3acc4c SHA512 d0459a939b0ab68edb92b81a1711e1806f52e5989d8a9cd780b77c8df5ac055ae57ef74d2c43fa4c49d10f3a92464f782d93c73765e27dfe786f718c0aab135f WHIRLPOOL 46d92be5b8ebfc5bcfb8115d697483a15006cc0f9ffecf43645be40b0eb17d850530f253af1227d1587376160b75896d4803e1bfde39b7e914259f7fad3a1d7f AUX binutils-apple-4.5-as.patch 2874 SHA256 137ebd95b664fdc9e57b05ab0da07890d8283ae856a6c1227a2f1c3e06352007 SHA512 9520e820ef9a66ddf4ab7c7c5825bb50c141d6298ad67bfb2609ba82bcf4aca63b0b477ab908b540734fdadb41478e8e2985588ba9e98d95ba92daf4e3ce1290 WHIRLPOOL 14d7f32372f5bc9173ed50d82da9e5eaaea480c3957e9180a65d510442da5baa24857125cb60b85db382f75a756824a35d11b006d8a79b38b4d4ab92048cfdc5 AUX binutils-apple-5.1-as-dir.patch 1244 SHA256 20538a6f6b0352732e38b4768e3c809df7a16999544d9a3175d724472a62eaaa SHA512 cd03ccd78b27f0415315fd4606070ac4944ac4cc8f27835ffc43ecd68c1b61ee129fb8c24c86302585305a0be6f57501650f6981d92420763b2094bcffa1c1fe WHIRLPOOL e42eb9824967fa9281260ab798d01657c296cd78d81e63fceab3be8d332f1bfe1dfb6e9f77bd18e735924b6c084ed9159bcbe08e6d4ccafc68dc49b796049278 @@ -26,14 +30,18 @@ AUX binutils-apple-5.1-otool-stdc.patch 745 SHA256 0743e8ea27d97fd36d0ac5588c43a AUX binutils-apple-5.1-ranlib.patch 498 SHA256 321ac2af5c55950bd4704c95952fa9fc8a727ce1cc440f09cd9ec8bdb8f7c895 SHA512 b65f779383402b5f348622bc2acc939dcc42f499a907bf57570dbd51468e81274e777f82bdcbec51f7c17546ab22d5be3cc59a218bc28370a6259dc89c446e94 WHIRLPOOL b073d29d922b266d8eca28c5ac40fc99e04e64cb61c0d78ebd9a3b72d25ece12c3e4798262f0bb9901b7a8c688adce1aaff76c0728ba533a4d95e8210aa251ae AUX binutils-apple-5.1-strnlen.patch 1693 SHA256 a45d434699016fbb2763838e4aebd75528b74255ff49427f574da99b842652a3 SHA512 1199cd119b33d3c7f7b106bf40319785fdaa8dbf4f5ed6d59822e9e0b8a1a6c475f807e9c1abeee5bbfaf23023a9c56adb3825b0caf2478981fc907803c99b75 WHIRLPOOL 79076fa85242d995aa217ff12c6a70bba3c9169971b9f114627bf49cee4f47340a733261a47c535749b073e11ba817a1198c934606c979a5099a7fd4aababb5f AUX cctools-839-intel-retf.patch 772 SHA256 8c8febf783f079beb33f770051491e0b8331ed466505b336cf80a7818da1a875 SHA512 d8fe1cfbe2b92ce2b6e52d5a9119459f4617fb82d0f28fdf6c4cdb7680342775f4c1b9499a7d125009501e56c4b272c4b8c8a0c46f64937479be6af7bb1bbdce WHIRLPOOL 93afe6e24365c401235fb97c7bba927eaf8f67859a36d7992ad6b8bb3ecf658794d68055e5640f6d5bec014e4b2f3c83942543dfe1c4ec1c6c5232562a6906f6 -AUX cctools-839-lto.patch 972 SHA256 d5aaa6aae2546aa5cd4527989056e8b154baf8126d28fc48e3eb10f4228e5d2f SHA512 4ad895d7dca6696db2800bb9c8d0e75114132f078e501459cbfebf077361e842161f929299a44926a5cfd43c02e7093d345579d7cf9316c1fbca5d5e5644fd72 WHIRLPOOL f54024e0e0bedfa76953dd3859e2a90414715514afe4019745df2e310169b2483a9f3acdcb25c90abf9c073fe7a7dc655812bf942bd515b50eb91431a5049326 AUX ld64-123.2-Makefile 1484 SHA256 7499f48f3a1c72e3f0483c3c8bc03dcd6082440bee2bc0017ae63740d37a5147 SHA512 1c042b96e3372628ba7ca59ca7b1bb008f9b2d4d9af35f2fcf8d1c494905b3c6f7564319d10aba9b5d702dab563d3c7f4eef0f6f125375aff9747d16c6bfec1e WHIRLPOOL ba8b397277f340975e609ace99d2bde3b990dbda45bd06203be34bc20850d804c365ad2fad026a550a4dd4c2ed6a87dc2d2a573c363c5240be1c7b6cca238156 AUX ld64-123.2-darwin8-no-mlong-branch-warning.patch 790 SHA256 d3d5750998000a5fe296efff3298c0096ebbd9118c637a67b070f93acadea4ef SHA512 045c61d1174d1ddf459523907e770b548353ae7e790a96da9fb117293472934d8d4d9b7a03e4f3941cf843df98fda24dc1af9cc9006fdc38e0fe8f67e32c3c85 WHIRLPOOL f502680734f5352d3619be8b1fd4daa1dff126f06088ec9b92c614af289d6bbd852c07d6a47c01a557c7e98fccc980e36096557d277a89f55421f142ed6b3c7e AUX ld64-123.2-debug-backtrace.patch 338 SHA256 26b16aa555bb15dcb6d799785aed0d240e50cbe0a77968a2a4fe92623bd105ab SHA512 bd08dbe2889900f8be8bcb322f7f661e2ef54460d19d05a786da93df8afb5e35dbffd9d8e80bfe3aeeb6d3a961d032b9c599e87afb1461a57530551859e08091 WHIRLPOOL 019adbf9501413591569bcf9a2bb2aed1fb199825e799e57ce6e3d241a5fc4a435ce688276881afc5ec4bf932ca2b0076903a6f8dd5484d9ba3459c18c71a2f9 AUX ld64-123.2.1-lto.patch 6387 SHA256 5a8c0d0673a48db3cbb08c8234763bdb2149294cebc7707bf394461a73d9ae65 SHA512 1b21315913ce5107c28216412626595f01f5a9a85a6998b62be51424ea23b2b5ffe52036b44a1f5dac718f015899fe6a78a0f29f7e06a5d94f361164bcc88bf8 WHIRLPOOL 6e7fc637ac635045de626c43de7909f76bbd657625c5bbd9086f3acfe2f3cafd80d7bccc93494ce0411aedcf916093c836dc10b35226bb724bc1d6582d4f94ed +AUX ld64-127.2-Makefile 1611 SHA256 37a39ac9248bb351872a9450a9d48ebe13cf9409474fe44252dfc6fc285a32f7 SHA512 3a8c151e94bbff8b337788d78db3b34aa35d6ee4fc72b107222c435b563871a001bf4c0385c906c85f8f4b15fab10a9838ffba11635238792d8e1a2d2686774e WHIRLPOOL 651c851e2f12ac7ddd3e74dad4f9e4e1ea01fb8eaaf164708a198851e9c2ce3d415dfa73b3b3a7ce7dbb9d782f7582500a2374dd1668ac3387bdae765a7a988d +AUX ld64-127.2-extraneous-headers.patch 450 SHA256 b79a899d4fff6089d864e4ca2f3233aa74decbfd80301ed28eb8152bb97cabaf SHA512 10661bef55647ac45a6de8bb29ea37e3f12ac6fefc60e6415eac09c7722c413bf5d87a47f959aec955044331e54a35a0bd889fbb2aaefacd81cc9197f2d97baa WHIRLPOOL 85194d76fc704729ae869d595389e758ab4999a76dd1fd3fbda869872d4020e9b8c5cb94f09bede953e5f0814de8285aabad6875395779a8eba81abe1e8f7899 AUX ld64-127.2-lto.patch 5719 SHA256 20c4b5ffeaa052337220f6276548fbdf16071860c5cdc67b8697a1f41f130155 SHA512 02c320f1d2c2282de201b163bf7907ff7835d1269aece9b12a4fc6e2e729a45331dea7c7a89457a359813f151ce5b3cfaf13424ed6bc96cb2fbfefe7761f4abd WHIRLPOOL 8ec3a721a464fcda6b11983b8c74cd824caba76aaaa2306bdca67114e11c13f9b0d6282fc79a25603b10ec014eda171d6c3180996c89b4b6e07b7d1aa023bba2 AUX ld64-127.2-ppc-range-warning.patch 960 SHA256 1d99f4704580bd6f38cf205465ec19da09cc0e227167d72c2f595e905a9b0cac SHA512 6711c988bcd33542ea135f8ea51c75feb85071beea3ed19edb0a191213333f09d92245af4524cbb31209572fcc096d04771900f01e684545b6ae8b1f49467ea5 WHIRLPOOL 4acd8134fd4b4790941d3254d05a4ea4fcc7d62911d897cc437643839f40d6cddda69998765737db2afc267d0a0e8d6a23ef4a87fe97ca539b888474843c7734 +AUX ld64-127.2-thread_state.patch 466 SHA256 b21ce5c386889781fc4c443d625a7f65f296e67f2c0c609acb1bb7ab061fc256 SHA512 5c368c5a6fc141f148bd16977b311280f2f73b42dfa94ee6cfa68ae86bd83cf248db7889ca1079730b0c5598a16e4e2b0c3fe9e0b719881e68d720da277b0dfc WHIRLPOOL 32311ca63b4b3c12b09254b6253d567214a7c6487105340d957b1d90c79eb953f464befcd342ad2bdc7ddb8cc53b11f5b7f966456c918a343b265ba5615d1a44 +AUX ld64-128.2-1010.patch 748 SHA256 b060e0aed91830ac7fde8f707e5b0d14efbf08d59069d44dedd903d559c3c915 SHA512 bc5dd17389d26f69f063d814ac6e85fd075308d7a593d71aa1fce1c568169684adf1caa44f2bfe33298a399d430c6476195a223b7b7b71900a1ec6c878d7e389 WHIRLPOOL b5e6325034e5b577c09e8b9223efc5da9ab8463fe14ade14e4872836aa1457489450a33e910dabacd351ae4e3e0733865e4a0dc07427c58c633c4239c205d2fe AUX ld64-128.2-Makefile 1479 SHA256 cee5859f106bbdc2f7621af94182a9254e55b83b5937d7932f0bf6338b19bb27 SHA512 1cb10fee52dcf35fb1cfccb25587d2653054019bd94df169107efae8b5b0b7be48a4c251ebbda91048f09157b0d7fc5c66966c4a7b41303afe43a17374ba3695 WHIRLPOOL 6cbce589abf993bc944fed345d721ae431f7e3eb6f6a288ffa1ce6345d0339fb6d819c18f7083a4a6f56eee44a58abd218ea740595425727e6658d440030333b +AUX ld64-128.2-Makefile-2 1606 SHA256 dbeaba67d1c2a2c90657b9de362fd98c7dd290848bb915494b262aab23922ee7 SHA512 d91dc9d272237aa3e8324c586acfeebd4c69815f511d0d3ef763fd3b2d8994ffe28aae13151c0e3d479c7c530c995462f83941dc1e579852eb8f247c9fe54302 WHIRLPOOL 6dc7778b4000a9c079a2d01e5b8d3bd4133b90e49f434f1062caaeb8f1a01106e5c5b464dad6ee58ec0c89febf6a457a416a9dcce5f3ec8edd65c823d23dd8f8 AUX ld64-128.2-stdlib.patch 327 SHA256 265e0cea2fc6f922d7930568500cce0dd22594b35dd8d4c0e19d80fbe12f4800 SHA512 0a14955350232759a072f62d9cb8b253724a6256a483a590d0a6e538c9f185359f21b8d95d2b4f6109e9767c4431303ad35dd75a95a0860543ccf9786c0bbecd WHIRLPOOL cf127258aee4b194d94773e0cc6bd9e099ebe54340ecf43b0bdc9303df1388dd75233bab5e6ad7c1277a914491e1536e4e903a0c95407f2e788a6d22340c3c3b AUX ld64-136-Makefile 1498 SHA256 169cbef0725c3606f816c92eae70c494396e99290bb333cea2a0f2fad0958f26 SHA512 9ae8dd09f9da4f793965e7b60e996924bea7ac57af3684d8b70fd765215f8853f36a2a16850d0821eb7a8cda136259b78595a0abbd63f1488ba0464b3b8c5a78 WHIRLPOOL 8cc95c3b0b927501581fc540458d4a2f4061b797439fd8db20b522174a0896188eed5f9464de165602b4de34be31a66c73dc9e97e7ad03f3fcbc14cb3e5ebd11 AUX ld64-136-compile_stubs.h 1633 SHA256 61abf5d0f806313f458b5106cc3a9fbad8998857d39dc5c291104ae76c55313a SHA512 e2dd58331ca503115f1c6a9c9958159ba902894318a7f672e58400aae1a4f1ee0736b7da679e493a94395ac9701d7c614a6aed28ae5482d019e264c0fa514000 WHIRLPOOL d64c297d00c7f54304fcfc23c246f33bcdcc441ab04e838cebf6a41c604daf71c06eb6c62daef36e35339f5dffd18e553dfec703fe75543f77ca755858d4aae4 @@ -83,9 +91,18 @@ DIST libunwind-llvm-115426.tar.bz2 74622 SHA256 e77a42c04eda5e3db61fc8b5bc98a55c EBUILD binutils-apple-3.1.2.ebuild 5289 SHA256 0a31bf755b37ed52a419835d9eec8d30f04b144636056099da8c5f6654b002ff SHA512 193e7de4616757bc1ad563db10fe0258946f46cedd9e6d373f43e734f2f8c95c55d454822117c65d2475b94cc406d3376279ae96920a414a7f1b2f8369cd324a WHIRLPOOL f7cd96e476d1f77c6acfe8679c18ff3c21744dcf9629bb5c8c3ef4bbe23395930e25f66c6204e64231b1bee5efc0a842eab5422eb695952ac7578d6c5bdafb9d EBUILD binutils-apple-3.2.6.ebuild 6670 SHA256 ca78066436229a98e1e41086f6a1748bce194c34ea14b2ce1f6313a6f13f46f1 SHA512 835b719a1a94028672c29d2fa9357a7691f4011d542a2b9d5ffaed50e36d43db36ddaa5a856d681af441a13129799c11bd638e5bb099b21e1146871cbc5342b6 WHIRLPOOL 8dc06f087bb3ca607a821fc488a658560d1abbf35471021abb08da1d30ed6165c78cb4e27e27d85badbb9ecaa33f3706daa839faee7c31fc75516dcf673efdef EBUILD binutils-apple-3.2.ebuild 5914 SHA256 64a69c51cebe16792e7de383107e3ff539ea7c9de8a5357d39648534361a012d SHA512 5809311b5988f3cbc81920a7b52cdc8507eeecb0244919c34e68db9bc8267393c1c3b03bfd0f14446af85a47540fa304c3dec54c0474f536adec696bd3568e0d WHIRLPOOL 6966ebcd42309802f2acd257109461cf1c88f4569cf025c4a6c6f0f6f5688dcdf248becff95109afc556995f6230f83958a920f1ba9b5ff7fd4b3fa521f3ccee +EBUILD binutils-apple-4.2-r1.ebuild 9728 SHA256 aa8eaa1d031072aa92c566c934129e336bf14ceeed9b447d78ab5b266d545e96 SHA512 a4470f6bb0851e22cec4ad2ec0a69bfa042387884f673c3bb45795f82201141c9486bbc44f023c0ee7ef04f0063bbc2c47dad85e4c79276706bdc47eab22bb4d WHIRLPOOL 7b37183ace821250fa7651fbc5a0db58e61be1f96642bb248b2b6a5ca52e0eb67ad2daaefef66d3f0d4db8720cf147a7959bc12a030d2c76780ec218a007f163 EBUILD binutils-apple-4.2.ebuild 8744 SHA256 dc6a457f8916974209b0b7c733c0c2d2800268da41b4f3fba106410e612e7d7b SHA512 feaabec24e80246e058ca40f0c6f00745a1d70b2249eea2f8b3b640419584587afa51ea919172f0023ab6e3d1409c5076f0d2a3544e9fe679bf91585eba09042 WHIRLPOOL 15e11365b21095b52a915756800ba92a755fc4b6ff84af10999f55627e3fb139f54ccd3bb6d27c94354e25862c6e57b8a7fa96306129dd4a41715e680a12eca1 +EBUILD binutils-apple-4.3-r1.ebuild 9357 SHA256 6e2c7b73e1da185608ad994685c2fe85a727a5e26075de9211b431c5b2ded553 SHA512 537474a2e7dd0a794fe9d7b202e04bbc61b98f5e056ff6760dfe6ffaaf3981b81528386366002ce33f6d1e78570168b38f80e6cd72cbe7ec2c000de652a4534a WHIRLPOOL 1e2ec51eb3db468a46c342dd9b76f0353da0fd27a9f6f6738071167303ccd88c76f4641e2a22eabae5277699253d0e95160d19ac49dfe2eb91e348aaa78ed478 EBUILD binutils-apple-4.3.ebuild 8543 SHA256 b84402d9d8175779b15aeb1a029b8c74456c157b0e9e8358ea63c6464f39eec6 SHA512 161812b264eb95653f34115574c0fa11f2968e8949de826c353da76aa663d39aa981e146dc70b8b2aeb7416727f500537d2f3173974a5e64a21dbac2d9c0a1f4 WHIRLPOOL 56d9f3de5c95056c7170740b4bf1c651f47d97747e14110f773e9a08661e7d4fed8673723b72bcb8bc5275737b595a7a327cc1b3d9a7c2e86924fe33e462c830 EBUILD binutils-apple-5.1.ebuild 10969 SHA256 2fcf6d482172f479874c0f0f4ce678fe9acb5c3600992ecc52cccb564c995342 SHA512 45afb1df26edb3cd55a7e5e35053ea360a8b4427ee467ea9aff2096dbea77e0afe38045cd37296a693c3aad9b211dbe22ef438f0130f11aab807dc34cfd28b4f WHIRLPOOL 078d7114c4734280ae5830c9b9933af0b7f3e824b33a07fc7e9bf43bdc3e9ff0f6226cb94c6b6507af14a22359ed5c7477abf1af10dee9ea70ed8136181cd43c EBUILD binutils-apple-6.1.ebuild 10873 SHA256 d00cc0ada1bd196d0a4c9510ee50c740bcc98da85a9cadafcb18ac13c820188f SHA512 307c0ca7a40993b2cfb6dfddbda9e1f87b19e5e6dc5c3a43acd6c8d82082c570843acb7b49b29b809705c4dd4f1b36a2fa5017716413856e05a49c86ee3c66d5 WHIRLPOOL 6d6f19f60e9578447cf1008803b30467da7dbfeeb097ddaa268b1e9c2a695a5934a982eee0e830b146c8297461d131649ecbdeee0b4ebea48d85674a30caa95e -MISC ChangeLog 13109 SHA256 e99185b28bbbf152ca6fb12da2d5c7d979731b9b6cc368b55c935a0fc9295f9e SHA512 13e44fdd5ebd501ca8c0f8d0f176a8182f4446bab4435f819414854bfa5f4e5d0c189b3ad90042b5e85e24656363d0cf26d0ee19dd353f967f6238f2cd7159b7 WHIRLPOOL bb688a807a514fdc65344eec5797cebae12029e560c0a9def75e6101072db83b6fd79ea213f351ed84b542d78648c438f4c158069cc89d4ac38ba67413f5c981 +MISC ChangeLog 13640 SHA256 bf199729065c38f144ffe9d1b555d227f40dabcbc6f32eacd08d4dd08cf296cf SHA512 eabe363548f0644133e20861513b32adbfe526ec4f31bed0dd96786cff8c432598a8500b36ebd073da6661143081e35e405ae68ef62e2417f7a9c4aab7460844 WHIRLPOOL c8312fedc80c7cf484dc7350414634d320ec29a80db57f421f58161cdba76040e7f6857885f202eab0b95e66b44554af48348f724059a57fc42eaac5ebfb2fb4 MISC metadata.xml 302 SHA256 899f79a24a243a7aa89abd5513bf75a9af445051813ebe137320ddc27bb22849 SHA512 20531dd7fdd3e84f20b1151bbe85e148643f7b26cfd77fadf649cd2b5c3ef4b3beeaf99299f0eb671250762ad10094ecdc1ff22c0b2eac0f7cb9f8d90aa21bed WHIRLPOOL e441ebd6ca8a5b2cd44b8a55fecb33f4895c1016f3b62bfa13c0e1e6fecf15ce3f58aaab3f19ea231cdc67bad2bcda31aabe7973b19feca70cd9cf7c9d5c69a9 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iEYEAREIAAYFAlTRObkACgkQX3X2B8XHTokhXgCfeCaty5kGa4DA9T0isEQFwMF2 +tF8AnjnXqRQ0cYYZnDaM+hwQelAlrQhX +=BvGY +-----END PGP SIGNATURE----- diff --git a/sys-devel/binutils-apple/binutils-apple-4.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-4.2-r1.ebuild new file mode 100644 index 000000000000..1899490175de --- /dev/null +++ b/sys-devel/binutils-apple/binutils-apple-4.2-r1.ebuild @@ -0,0 +1,328 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/binutils-apple-4.2-r1.ebuild,v 1.1 2015/02/03 21:12:23 grobian Exp $ + +EAPI="3" + +inherit eutils flag-o-matic toolchain-funcs + +LD64=ld64-127.2 +CCTOOLS_VERSION=809 +CCTOOLS=cctools-${CCTOOLS_VERSION} +CCTOOLS_HEADERS=cctools-855 +LIBUNWIND=libunwind-30 +DYLD=dyld-195.5 + +DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}" +HOMEPAGE="http://www.opensource.apple.com/darwinsource/" +SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz + http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz + http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS_HEADERS}.tar.gz + http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz + http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz" + +LICENSE="APSL-2" +KEYWORDS="~ppc-macos ~x64-macos ~x86-macos" +IUSE="lto test" + +RDEPEND="sys-devel/binutils-config + lto? ( sys-devel/llvm ) + test? ( >=dev-lang/perl-5.8.8 )" +DEPEND="${RDEPEND} + || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )" + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +if is_cross ; then + SLOT="${CTARGET}-4" +else + SLOT="4" +fi + +LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} +INCPATH=${LIBPATH}/include +DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} +if is_cross ; then + BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV} +else + BINPATH=/usr/${CTARGET}/binutils-bin/${PV} +fi + +S=${WORKDIR} + +src_prepare() { + cd "${S}"/${LD64}/src + cp "${FILESDIR}"/ld64-127.2-Makefile Makefile + epatch "${FILESDIR}"/${LD64}-lto.patch + epatch "${FILESDIR}"/ld64-128.2-stdlib.patch + epatch "${FILESDIR}"/${LD64}-ppc-range-warning.patch + epatch "${FILESDIR}"/ld64-127.2-extraneous-headers.patch + epatch "${FILESDIR}"/ld64-241.9-register-names.patch + epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch + epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch + epatch "${FILESDIR}"/ld64-128.2-1010.patch + + # We used to use our own copy of lto.h, which doesn't require llvm + # build-env. Current versions of llvm provide + # $EPREFIX/usr/include/llvm-c/lto.h as well as + # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these. + + # provide missing headers from libunwind and dyld + mkdir -p include/{mach,mach-o/arm} || die + # never present because it's private + cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die + # missing on <= 10.5 + cp ../../${LIBUNWIND}/include/libunwind.h include/ || die + cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die + # missing on <= 10.4 + cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die + cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die + # use copies from cctools because they're otherwise hidden in some SDK + cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die + # provide all required CPU_TYPEs on all platforms + cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h + # add alias for newer identifiers, because ld64 uses both but cctools + # header only defines the older + epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch + + # mimic OS X Leopard-style Availability.h macros for libunwind.h on + # older systems + [[ ${CHOST#*-darwin} -le 8 ]] && \ + echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h + + local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\"" + echo "char ldVersionString[] = ${VER_STR};" > version.cpp + + epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch + if [[ ${CHOST} == powerpc*-darwin* ]] ; then + epatch "${FILESDIR}"/ld64-123.2-darwin8-no-mlong-branch-warning.patch + epatch "${FILESDIR}"/ld64-127.2-thread_state.patch + fi + + cd "${S}"/${CCTOOLS} + epatch "${FILESDIR}"/${PN}-4.0-as.patch + epatch "${FILESDIR}"/${PN}-4.2-as-dir.patch + epatch "${FILESDIR}"/${PN}-3.2.3-ranlib.patch + epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch + epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch + epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch + epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch + epatch "${FILESDIR}"/${PN}-4.2-lto.patch + epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch + epatch "${FILESDIR}"/${PN}-4.2-globals-extern.patch + cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die + # __darwin_i386_float_state missing on <= 10.4 + cp -a ../${CCTOOLS_HEADERS}/include/mach/i386 include/mach + + # do not build profileable libstuff to save compile time + sed -i -e "/^all:/s, profile , ," libstuff/Makefile + + # Provide patched version information to the tools. This is normally + # done by the Makefile using vers_string. As an added benefit, the + # build will not fail on later OS Xes where that tool doesn't exist any + # more. + + # Those tools don't even use their version information. Just make make + # happy. + touch {ar,gprof,otool}/vers.c + + # for the others defining apple_version suffices nicely although the + # Makefile does a lot more. + VER_STR="${CCTOOLS} (Gentoo ${PN}-${PVR})" + echo "const char apple_version[] = \"${VER_STR}\";" \ + >> as/apple_version.c || die + echo "const char apple_version[] = \"${VER_STR})\";" \ + >> misc/vers.c || die + # the rest we don't even build + + # clean up test suite + cd "${S}"/${LD64}/unit-tests/test-cases + local c + + # we don't have llvm + ((++c)); rm -rf llvm-integration; + + # we don't have dtrace + ((++c)); rm -rf dtrace-static-probes-coalescing; + ((++c)); rm -rf dtrace-static-probes; + + # a file is missing + ((++c)); rm -rf eh-coalescing-r + + # we don't do universal binaries + ((++c)); rm -rf blank-stubs; + + # looks like a problem with apple's result-filter.pl + ((++c)); rm -rf implicit-common3; + ((++c)); rm -rf order_file-ans; + + # TODO no idea what goes wrong here + ((++c)); rm -rf dwarf-debug-notes; + + einfo "Deleted $c tests that were bound to fail" + + cd "${S}" + ebegin "cleaning Makefiles from unwanted CFLAGS" + find . -name "Makefile" -print0 | xargs -0 sed \ + -i \ + -e 's/ -g / /g' \ + -e 's/^G =.*$/G =/' \ + -e 's/^OFLAG =.*$/OFLAG =/' \ + -e 's/install -c -s/install/g' + eend $? +} + +src_configure() { + CCTOOLS_LTO= + LD64_LTO=0 + if use lto ; then + CCTOOLS_LTO="-DLTO_SUPPORT" + LD64_LTO=1 + fi + + # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is + # what we want) + append-cppflags -DNDEBUG + + CCTOOLS_OFLAG= + if [ ${CHOST#*-darwin} -le 8 ] ; then + # cctools expect to use UNIX03 struct member names. + # This is default on > 10.4. Activate it on <= 10.4 by defining + # __DARWIN_UNIX03 explicitly. + CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1" + fi + + cat < ${LD64}/src/configure.h +#define DEFAULT_MACOSX_MIN_VERSION "${MACOSX_DEPLOYMENT_TARGET}" +EOF +} + +compile_ld64() { + einfo "building ${LD64}" + cd "${S}"/${LD64}/src + emake \ + LTO=${LD64_LTO} \ + || die "emake failed for ld64" + use test && emake build_test +} + +compile_cctools() { + einfo "building ${CCTOOLS}" + cd "${S}"/${CCTOOLS} + emake \ + LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \ + EFITOOLS= \ + LTO="${CCTOOLS_LTO}" \ + COMMON_SUBDIRS='libstuff ar misc otool' \ + SUBDIRS_32= \ + LEGACY= \ + RC_CFLAGS="${CFLAGS}" \ + OFLAG="${CCTOOLS_OFLAG}" \ + || die "emake failed for the cctools" + cd "${S}"/${CCTOOLS}/as + emake \ + BUILD_OBSOLETE_ARCH= \ + RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \ + OFLAG="${CCTOOLS_OFLAG}" \ + || die "emake failed for as" +} + +src_compile() { + compile_ld64 + compile_cctools +} + +install_ld64() { + exeinto ${BINPATH} + doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump} + dosym ld64 ${BINPATH}/ld + insinto ${DATAPATH}/man/man1 + doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1 +} + +install_cctools() { + cd "${S}"/${CCTOOLS} + emake install_all_but_headers \ + EFITOOLS= \ + COMMON_SUBDIRS='ar misc otool' \ + SUBDIRS_32= \ + DSTROOT=\"${D}\" \ + BINDIR=\"${EPREFIX}\"${BINPATH} \ + LOCBINDIR=\"${EPREFIX}\"${BINPATH} \ + USRBINDIR=\"${EPREFIX}\"${BINPATH} \ + LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \ + MANDIR=\"${EPREFIX}\"${DATAPATH}/man/ + cd "${S}"/${CCTOOLS}/as + emake install \ + BUILD_OBSOLETE_ARCH= \ + DSTROOT=\"${D}\" \ + USRBINDIR=\"${EPREFIX}\"${BINPATH} \ + LIBDIR=\"${EPREFIX}\"${LIBPATH} \ + LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} + + cd "${ED}"${BINPATH} + insinto ${DATAPATH}/man/man1 + local skips manpage + # ar brings an up-to-date manpage with it + skips=( ar ) + for bin in *; do + for skip in ${skips[@]}; do + if [[ ${bin} == ${skip} ]]; then + continue 2; + fi + done + manpage=${S}/${CCTOOLS}/man/${bin}.1 + if [[ -f "${manpage}" ]]; then + doins "${manpage}" + fi + done + insinto ${DATAPATH}/man/man5 + doins "${S}"/${CCTOOLS}/man/*.5 +} + +src_test() { + if ! [ "${EPREFIX}"/usr/bin/clang ] ; then + einfo "Test suite only works properly with clang - please install" + return + fi + + einfo "Running unit tests" + cd "${S}"/${LD64}/unit-tests/test-cases + # provide the new ld as a symlink to clang so that -ccc-install-dir + # will pick it up + ln -sfn ../../src/ld64 ld + # use our arch command because the System's will report i386 even for an + # x86_64 prefix + perl ../bin/make-recursive.pl \ + BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \ + ARCH="$(arch)" \ + LD="${S}"/${LD64}/src/ld64 \ + CC="clang -ccc-install-dir $PWD" \ + CXX="clang++ -ccc-install-dir $PWD" \ + OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \ + | perl ../bin/result-filter.pl +} + +src_install() { + install_ld64 + install_cctools + + cd "${S}" + insinto /etc/env.d/binutils + cat <<-EOF > env.d + TARGET="${CHOST}" + VER="${PV}" + FAKE_TARGETS="${CHOST}" + EOF + newins env.d ${CHOST}-${PV} +} + +pkg_postinst() { + binutils-config ${CHOST}-${PV} +} diff --git a/sys-devel/binutils-apple/binutils-apple-4.3-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-4.3-r1.ebuild new file mode 100644 index 000000000000..72dd89a76d2f --- /dev/null +++ b/sys-devel/binutils-apple/binutils-apple-4.3-r1.ebuild @@ -0,0 +1,316 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/binutils-apple-4.3-r1.ebuild,v 1.1 2015/02/03 21:12:23 grobian Exp $ + +EAPI="3" + +inherit eutils flag-o-matic toolchain-funcs + +LD64=ld64-128.2 +CCTOOLS_VERSION=822 +CCTOOLS=cctools-${CCTOOLS_VERSION} +CCTOOLS_HEADERS=cctools-855 +LIBUNWIND=libunwind-30 +DYLD=dyld-195.6 + +DESCRIPTION="Darwin assembler as(1) and static linker ld(1), Xcode Tools ${PV}" +HOMEPAGE="http://www.opensource.apple.com/darwinsource/" +SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz + http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz + http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS_HEADERS}.tar.gz + http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz + http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz" + +LICENSE="APSL-2" +KEYWORDS="~x64-macos ~x86-macos" +IUSE="lto test" + +RDEPEND="sys-devel/binutils-config + lto? ( sys-devel/llvm ) + test? ( >=dev-lang/perl-5.8.8 )" +DEPEND="${RDEPEND} + || ( >=sys-devel/gcc-apple-4.2.1 sys-devel/llvm )" + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +if is_cross ; then + SLOT="${CTARGET}-4" +else + SLOT="4" +fi + +LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} +INCPATH=${LIBPATH}/include +DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} +if is_cross ; then + BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${PV} +else + BINPATH=/usr/${CTARGET}/binutils-bin/${PV} +fi + +S=${WORKDIR} + +src_prepare() { + cd "${S}"/${LD64}/src + cp "${FILESDIR}"/ld64-128.2-Makefile-2 Makefile + epatch "${FILESDIR}"/ld64-127.2-lto.patch + epatch "${FILESDIR}"/ld64-128.2-stdlib.patch + epatch "${FILESDIR}"/ld64-241.9-register-names.patch + epatch "${FILESDIR}"/ld64-241.9-get-comm-align.patch + epatch "${FILESDIR}"/ld64-241.9-cc_md5.patch + epatch "${FILESDIR}"/ld64-128.2-1010.patch + + # We used to use our own copy of lto.h, which doesn't require llvm + # build-env. Current versions of llvm provide + # $EPREFIX/usr/include/llvm-c/lto.h as well as + # $EPREFIX/usr/lib/libLTO.{so,dylib}, so we just use these. + + # provide missing headers from libunwind and dyld + mkdir -p include/{mach,mach-o/arm} || die + # never present because it's private + cp ../../${DYLD}/include/mach-o/dyld_priv.h include/mach-o || die + # missing on <= 10.5 + cp ../../${LIBUNWIND}/include/libunwind.h include/ || die + cp ../../${LIBUNWIND}/include/mach-o/compact_unwind_encoding.h include/mach-o || die + # missing on <= 10.4 + cp ../../${DYLD}/include/mach-o/dyld_images.h include/mach-o || die + cp ../../${CCTOOLS}/include/mach-o/loader.h include/mach-o || die + # use copies from cctools because they're otherwise hidden in some SDK + cp ../../${CCTOOLS}/include/mach-o/arm/reloc.h include/mach-o/arm || die + # provide all required CPU_TYPEs on all platforms + cp ../../${CCTOOLS}/include/mach/machine.h include/mach/machine.h + # add alias for newer identifiers, because ld64 uses both but cctools + # header only defines the older + epatch "${FILESDIR}"/ld64-236.3-missing-cputypes.patch + + # mimic OS X Leopard-style Availability.h macros for libunwind.h on + # older systems + [[ ${CHOST#*-darwin} -le 8 ]] && \ + echo "#define __OSX_AVAILABLE_STARTING(x,y) " > include/Availability.h + + local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\"" + echo "char ldVersionString[] = ${VER_STR};" > version.cpp + + epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch + + cd "${S}"/${CCTOOLS} + epatch "${FILESDIR}"/${PN}-4.0-as.patch + epatch "${FILESDIR}"/${PN}-4.2-as-dir.patch + epatch "${FILESDIR}"/${PN}-3.2.3-ranlib.patch + epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch + epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch + epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch + epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch + epatch "${FILESDIR}"/${PN}-4.2-lto.patch + epatch "${FILESDIR}"/${PN}-5.1-extraneous-includes.patch + cp ../${LD64}/src/other/prune_trie.h include/mach-o/ || die + # __darwin_i386_float_state missing on <= 10.4 + cp -a ../${CCTOOLS_HEADERS}/include/mach/i386 include/mach + + # do not build profileable libstuff to save compile time + sed -i -e "/^all:/s, profile , ," libstuff/Makefile + + # cctools version is provided to make via RC_ProjectSourceVersion which + # generates and compiles it as apple_version[] into libstuff. From + # there it's picked up by the individual tools. Since + # RC_ProjectSourceVersion is also used as library version, we can't + # just append our local version info. So we hack the libstuff Makefile + # to include our Gentoo version. + sed -i -e "/cctools-.*(RC_ProjectSourceVersion).*OFILE_DIR/s,Version),Version) (Gentoo ${PN}-${PVR})," \ + libstuff/Makefile + + # clean up test suite + cd "${S}"/${LD64}/unit-tests/test-cases + local c + + # we don't have llvm + ((++c)); rm -rf llvm-integration; + + # we don't have dtrace + ((++c)); rm -rf dtrace-static-probes-coalescing; + ((++c)); rm -rf dtrace-static-probes; + + # a file is missing + ((++c)); rm -rf eh-coalescing-r + + # we don't do universal binaries + ((++c)); rm -rf blank-stubs; + + # looks like a problem with apple's result-filter.pl + ((++c)); rm -rf implicit-common3; + ((++c)); rm -rf order_file-ans; + + # TODO no idea what goes wrong here + ((++c)); rm -rf dwarf-debug-notes; + + einfo "Deleted $c tests that were bound to fail" + + cd "${S}" + ebegin "cleaning Makefiles from unwanted CFLAGS" + find . -name "Makefile" -print0 | xargs -0 sed \ + -i \ + -e 's/ -g / /g' \ + -e 's/^G =.*$/G =/' \ + -e 's/^OFLAG =.*$/OFLAG =/' \ + -e 's/install -c -s/install/g' + eend $? +} + +src_configure() { + CCTOOLS_LTO= + LD64_LTO=0 + if use lto ; then + CCTOOLS_LTO="-DLTO_SUPPORT" + LD64_LTO=1 + fi + + # CPPFLAGS only affects ld64, cctools don't use 'em (which currently is + # what we want) + append-cppflags -DNDEBUG + + CCTOOLS_OFLAG= + if [ ${CHOST#*-darwin} -le 8 ] ; then + # cctools expect to use UNIX03 struct member names. + # This is default on > 10.4. Activate it on <= 10.4 by defining + # __DARWIN_UNIX03 explicitly. + CCTOOLS_OFLAG="-D__DARWIN_UNIX03=1" + fi + + cat < ${LD64}/src/configure.h +#define DEFAULT_MACOSX_MIN_VERSION "${MACOSX_DEPLOYMENT_TARGET}" +EOF +} + +compile_ld64() { + einfo "building ${LD64}" + cd "${S}"/${LD64}/src + emake \ + LTO=${LD64_LTO} \ + || die "emake failed for ld64" + use test && emake build_test +} + +compile_cctools() { + einfo "building ${CCTOOLS}" + cd "${S}"/${CCTOOLS} + # -j1 because it fails too often with weird errors + emake \ + LIB_PRUNETRIE="-L../../${LD64}/src -lprunetrie" \ + EFITOOLS= \ + LTO="${CCTOOLS_LTO}" \ + COMMON_SUBDIRS='libstuff ar misc otool' \ + SUBDIRS_32= \ + LEGACY= \ + RC_ProjectSourceVersion=${CCTOOLS_VERSION} \ + RC_CFLAGS="${CFLAGS}" \ + OFLAG="${CCTOOLS_OFLAG}" \ + -j1 \ + || die "emake failed for the cctools" + cd "${S}"/${CCTOOLS}/as + emake \ + BUILD_OBSOLETE_ARCH= \ + RC_ProjectSourceVersion=${CCTOOLS_VERSION} \ + RC_CFLAGS="-DASLIBEXECDIR=\"\\\"${EPREFIX}${LIBPATH}/\\\"\" ${CFLAGS}" \ + OFLAG="${CCTOOLS_OFLAG}" \ + || die "emake failed for as" +} + +src_compile() { + compile_ld64 + compile_cctools +} + +install_ld64() { + exeinto ${BINPATH} + doexe "${S}"/${LD64}/src/{ld64,rebase,dyldinfo,unwinddump,ObjectDump} + dosym ld64 ${BINPATH}/ld + insinto ${DATAPATH}/man/man1 + doins "${S}"/${LD64}/doc/man/man1/{ld,ld64,rebase}.1 +} + +install_cctools() { + cd "${S}"/${CCTOOLS} + emake install_all_but_headers \ + EFITOOLS= \ + COMMON_SUBDIRS='ar misc otool' \ + SUBDIRS_32= \ + DSTROOT=\"${D}\" \ + BINDIR=\"${EPREFIX}\"${BINPATH} \ + LOCBINDIR=\"${EPREFIX}\"${BINPATH} \ + USRBINDIR=\"${EPREFIX}\"${BINPATH} \ + LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} \ + MANDIR=\"${EPREFIX}\"${DATAPATH}/man/ + cd "${S}"/${CCTOOLS}/as + emake install \ + BUILD_OBSOLETE_ARCH= \ + DSTROOT=\"${D}\" \ + USRBINDIR=\"${EPREFIX}\"${BINPATH} \ + LIBDIR=\"${EPREFIX}\"${LIBPATH} \ + LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} + + cd "${ED}"${BINPATH} + insinto ${DATAPATH}/man/man1 + local skips manpage + # ar brings an up-to-date manpage with it + skips=( ar ) + for bin in *; do + for skip in ${skips[@]}; do + if [[ ${bin} == ${skip} ]]; then + continue 2; + fi + done + manpage=${S}/${CCTOOLS}/man/${bin}.1 + if [[ -f "${manpage}" ]]; then + doins "${manpage}" + fi + done + insinto ${DATAPATH}/man/man5 + doins "${S}"/${CCTOOLS}/man/*.5 +} + +src_test() { + if ! [ "${EPREFIX}"/usr/bin/clang ] ; then + einfo "Test suite only works properly with clang - please install" + return + fi + + einfo "Running unit tests" + cd "${S}"/${LD64}/unit-tests/test-cases + # provide the new ld as a symlink to clang so that -ccc-install-dir + # will pick it up + ln -sfn ../../src/ld64 ld + # use our arch command because the System's will report i386 even for an + # x86_64 prefix + perl ../bin/make-recursive.pl \ + BUILT_PRODUCTS_DIR="${S}"/${LD64}/src \ + ARCH="$(arch)" \ + LD="${S}"/${LD64}/src/ld64 \ + CC="clang -ccc-install-dir $PWD" \ + CXX="clang++ -ccc-install-dir $PWD" \ + OTOOL="${S}"/${CCTOOLS}/otool/otool.NEW \ + | perl ../bin/result-filter.pl +} + +src_install() { + install_ld64 + install_cctools + + cd "${S}" + insinto /etc/env.d/binutils + cat <<-EOF > env.d + TARGET="${CHOST}" + VER="${PV}" + FAKE_TARGETS="${CHOST}" + EOF + newins env.d ${CHOST}-${PV} +} + +pkg_postinst() { + binutils-config ${CHOST}-${PV} +} diff --git a/sys-devel/binutils-apple/files/binutils-apple-4.2-globals-extern.patch b/sys-devel/binutils-apple/files/binutils-apple-4.2-globals-extern.patch new file mode 100644 index 000000000000..76419ad90780 --- /dev/null +++ b/sys-devel/binutils-apple/files/binutils-apple-4.2-globals-extern.patch @@ -0,0 +1,29 @@ +Externally referenced globals should be marked extern to avoid stuff like this happening: + +ld: warning: tentative definition of '_subsections_via_symbols' with size 16 from 'app.o' is being replaced by real definition of smaller size 4 from 'as.o' +ld: warning: tentative definition of '_subsections_via_symbols' with size 16 from 'atof-ieee.o' is being replaced by real definition of smaller size 4 from 'as.o' +... + +--- cctools-809/as/as.h.orig 2015-01-28 23:52:40.000000000 +0100 ++++ cctools-809/as/as.h 2015-01-28 23:52:52.000000000 +0100 +@@ -179,7 +179,7 @@ + extern char *specific_archflag; + + /* TRUE if the .subsections_via_symbols directive was seen */ +-int subsections_via_symbols; ++extern int subsections_via_symbols; + + /* -I path options for .includes */ + struct directory_stack { +--- cctools-809/as/arm.c.orig 2015-01-28 23:57:23.000000000 +0100 ++++ cctools-809/as/arm.c 2015-01-28 23:57:35.000000000 +0100 +@@ -151,8 +151,7 @@ + # define N_(String) (String) + + /* STUFF FROM gas/as.h */ +-#define COMMON +-COMMON subsegT now_subseg; ++extern subsegT now_subseg; + + /* STUFF FROM gas/config/tc-arm.h */ + #define ARM_FLAG_THUMB (1 << 0) /* The symbol is a Thumb symbol rather than an Arm symbol. */ diff --git a/sys-devel/binutils-apple/files/cctools-839-lto.patch b/sys-devel/binutils-apple/files/cctools-839-lto.patch deleted file mode 100644 index 4c3522fce924..000000000000 --- a/sys-devel/binutils-apple/files/cctools-839-lto.patch +++ /dev/null @@ -1,42 +0,0 @@ -Allow to fully disable LTO. - -diff --git a/libstuff/lto.c b/libstuff/lto.c -index 6f5758d..5ba7996 100644 ---- a/libstuff/lto.c -+++ b/libstuff/lto.c -@@ -381,4 +381,17 @@ void *mod) - lto_dispose(mod); - } - -+#else -+ -+#include -+ -+__private_extern__ -+int -+is_llvm_bitcode( -+ struct ofile *ofile, -+ char *addr, -+ size_t size) -+{ -+ return 0; -+} - #endif /* LTO_SUPPORT */ -diff --git a/misc/libtool.c b/misc/libtool.c -index f9c7557..ff829cc 100644 ---- a/misc/libtool.c -+++ b/misc/libtool.c -@@ -1370,8 +1370,11 @@ void) - } - } - } -- else if(ofiles[i].arch_type == OFILE_Mach_O || -- ofiles[i].arch_type == OFILE_LLVM_BITCODE){ -+ else if(ofiles[i].arch_type == OFILE_Mach_O -+#ifdef LTO_SUPPORT -+ || ofiles[i].arch_type == OFILE_LLVM_BITCODE -+#endif -+ ){ - if(cmd_flags.ranlib == TRUE){ - error("for architecture: %s file: %s is not an " - "archive (no processing done on this file)", diff --git a/sys-devel/binutils-apple/files/ld64-127.2-Makefile b/sys-devel/binutils-apple/files/ld64-127.2-Makefile new file mode 100644 index 000000000000..74aef560a23e --- /dev/null +++ b/sys-devel/binutils-apple/files/ld64-127.2-Makefile @@ -0,0 +1,50 @@ +CPPFLAGS += -Iinclude -Iabstraction -Ild -Ild/parsers -Iother -I. + +# some files generate warnings about applying offsetof to a non-POD type. +# Upstream seems aware of that and ignores by setting +# GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO in the xcode project. +CXXFLAGS += -Wno-invalid-offsetof + +all: rebase unwinddump dyldinfo ld64 ObjectDump machocheck + +libprunetrie.a: other/PruneTrie.o other/prune_trie.h + $(AR) -s -r -c libprunetrie.a other/PruneTrie.o + +LD64LIBS=ld/parsers/archive_file.o ld/parsers/macho_relocatable_file.o \ + ld/parsers/opaque_section_file.o \ + ld/parsers/macho_dylib_file.o \ + ld/passes/branch_island.o ld/passes/dylibs.o ld/passes/order_file.o \ + ld/passes/branch_shim.o ld/passes/got.o ld/passes/tlvp.o \ + ld/passes/compact_unwind.o ld/passes/huge.o \ + ld/passes/dtrace_dof.o ld/passes/objc.o \ + ld/passes/stubs/stubs.o \ + ld/InputFiles.o ld/OutputFile.o ld/SymbolTable.o \ + ld/Options.o ld/Resolver.o ld/debugline.o ld/ld.o + +ifeq ($(LTO),1) +CPPFLAGS += -DLTO +LTO_OBJ = ld/parsers/lto_file.o +LIBLTO = -lLTO +else +LTO_OBJ = +LIBLTO = +endif + +ld64: libprunetrie.a version.o $(LD64LIBS) $(LTO_OBJ) + $(CXX) $(CXXFLAGS) $(LDFLAGS) $(LIBLTO) -o $@ $^ + +rebase: other/rebase.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + +dyldinfo: other/dyldinfo.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + +unwinddump: other/unwinddump.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + +ObjectDump: other/ObjectDump.o ld/debugline.o ld/parsers/macho_relocatable_file.o $(LTO_OBJ) + $(CXX) $(CXXFLAGS) $(LDFLAGS) $(LIBLTO) -o $@ $^ + +machocheck: other/machochecker.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + diff --git a/sys-devel/binutils-apple/files/ld64-127.2-extraneous-headers.patch b/sys-devel/binutils-apple/files/ld64-127.2-extraneous-headers.patch new file mode 100644 index 000000000000..34d508063df1 --- /dev/null +++ b/sys-devel/binutils-apple/files/ld64-127.2-extraneous-headers.patch @@ -0,0 +1,12 @@ +Remove unused header that doesn't exist on older OS Xes. + +--- ld64-127.2/src/ld/parsers/libunwind/AddressSpace.hpp.orig 2015-01-27 23:24:49.000000000 +0100 ++++ ld64-127.2/src/ld/parsers/libunwind/AddressSpace.hpp 2015-01-27 23:26:21.000000000 +0100 +@@ -37,7 +37,6 @@ + #include + #include + #include +-#include + + #include "FileAbstraction.hpp" + #include "libunwind.h" diff --git a/sys-devel/binutils-apple/files/ld64-127.2-thread_state.patch b/sys-devel/binutils-apple/files/ld64-127.2-thread_state.patch new file mode 100644 index 000000000000..e894bee0c8d0 --- /dev/null +++ b/sys-devel/binutils-apple/files/ld64-127.2-thread_state.patch @@ -0,0 +1,13 @@ +Include thread_status.h so that __darwin_i386_thread_state_t is known and will +not generate warnings that it's declared inside parameter list. + +--- ld64-127.2/src/ld/HeaderAndLoadCommands.hpp.orig 2015-01-28 00:32:55.000000000 +0100 ++++ ld64-127.2/src/ld/HeaderAndLoadCommands.hpp 2015-01-28 00:27:51.000000000 +0100 +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #include + diff --git a/sys-devel/binutils-apple/files/ld64-128.2-1010.patch b/sys-devel/binutils-apple/files/ld64-128.2-1010.patch new file mode 100644 index 000000000000..dee69e7c858b --- /dev/null +++ b/sys-devel/binutils-apple/files/ld64-128.2-1010.patch @@ -0,0 +1,20 @@ +Backport (just a diff really) of OS X 10.10 handling from 241.9. + +--- ld64-128.2/src/ld/Options.cpp 2015-01-30 17:16:48.000000000 +0100 ++++ ld64-241.9/src/ld/Options.cpp 2015-01-30 17:11:57.000000000 +0100 +@@ -1241,7 +1348,14 @@ + throw "-macosx_version_min argument missing"; + + if ( (strncmp(version, "10.", 3) == 0) && isdigit(version[3]) ) { +- unsigned int minorVersion = version[3] - '0'; ++ unsigned int minorVersion = 0; ++ for (int i=3; isdigit(version[i]); ++i) { ++ minorVersion = minorVersion*10 + (version[i] - '0'); ++ } ++ if ( minorVersion > 255 ) { ++ warning("Mac OS X minor version > 255 in '%s'", version); ++ minorVersion = 255; ++ } + fMacVersionMin = (ld::MacVersionMin)(0x000A0000 | (minorVersion << 8)); + } + else { diff --git a/sys-devel/binutils-apple/files/ld64-128.2-Makefile-2 b/sys-devel/binutils-apple/files/ld64-128.2-Makefile-2 new file mode 100644 index 000000000000..1d48ae9eaaf4 --- /dev/null +++ b/sys-devel/binutils-apple/files/ld64-128.2-Makefile-2 @@ -0,0 +1,50 @@ +CPPFLAGS += -Iinclude -Iabstraction -Ild -Ild/parsers -Iother -I. + +# some files generate warnings about applying offsetof to a non-POD type. +# Upstream seems aware of that and ignores by setting +# GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO in the xcode project. +CXXFLAGS += -Wno-invalid-offsetof + +all: rebase unwinddump dyldinfo ld64 ObjectDump machocheck + +libprunetrie.a: other/PruneTrie.o other/prune_trie.h + $(AR) -s -r -c libprunetrie.a other/PruneTrie.o + +LD64LIBS=ld/parsers/archive_file.o ld/parsers/macho_relocatable_file.o \ + ld/parsers/opaque_section_file.o \ + ld/parsers/macho_dylib_file.o \ + ld/passes/branch_island.o ld/passes/dylibs.o ld/passes/order.o \ + ld/passes/branch_shim.o ld/passes/got.o ld/passes/tlvp.o \ + ld/passes/compact_unwind.o ld/passes/huge.o \ + ld/passes/dtrace_dof.o ld/passes/objc.o \ + ld/passes/stubs/stubs.o \ + ld/InputFiles.o ld/OutputFile.o ld/SymbolTable.o \ + ld/Options.o ld/Resolver.o ld/debugline.o ld/ld.o + +ifeq ($(LTO),1) +CPPFLAGS += -DLTO +LTO_OBJ = ld/parsers/lto_file.o +LIBLTO = -lLTO +else +LTO_OBJ = +LIBLTO = +endif + +ld64: libprunetrie.a version.o $(LD64LIBS) $(LTO_OBJ) + $(CXX) $(CXXFLAGS) $(LDFLAGS) $(LIBLTO) -o $@ $^ + +rebase: other/rebase.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + +dyldinfo: other/dyldinfo.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + +unwinddump: other/unwinddump.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + +ObjectDump: other/ObjectDump.o ld/debugline.o ld/parsers/macho_relocatable_file.o $(LTO_OBJ) + $(CXX) $(CXXFLAGS) $(LDFLAGS) $(LIBLTO) -o $@ $^ + +machocheck: other/machochecker.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ + -- 2.26.2