Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

FL-43: updated toolchain in ~arch

  • Loading branch information...
commit 4bd0a6cd245433bdabbf83166c34ae423f8ce6e3 1 parent 3874c5e
Oleg authored October 04, 2012

Showing 24 changed files with 1,869 additions and 257 deletions. Show diff stats Hide diff stats

  1. 9  profiles/package.mask/funtoo-toolchain
  2. 13  sys-devel/binutils/Manifest
  3. 7  sys-devel/binutils/binutils-2.22-r1.ebuild
  4. 56  sys-devel/gcc/Manifest
  5. 57  sys-devel/gcc/gcc-4.6.3.ebuild
  6. 2  sys-kernel/linux-headers/Manifest
  7. 50  sys-kernel/linux-headers/linux-headers-3.4-r2.ebuild
  8. 27  sys-libs/glibc/Manifest
  9. 290  sys-libs/glibc/files/eblits-2.15/common.eblit
  10. 27  sys-libs/glibc/files/eblits-2.15/pkg_postinst.eblit
  11. 83  sys-libs/glibc/files/eblits-2.15/pkg_preinst.eblit
  12. 122  sys-libs/glibc/files/eblits-2.15/pkg_setup.eblit
  13. 222  sys-libs/glibc/files/eblits-2.15/src_compile.eblit
  14. 232  sys-libs/glibc/files/eblits-2.15/src_install.eblit
  15. 42  sys-libs/glibc/files/eblits-2.15/src_test.eblit
  16. 185  sys-libs/glibc/files/eblits-2.15/src_unpack.eblit
  17. 160  sys-libs/glibc/files/eblits/common.eblit
  18. 8  sys-libs/glibc/files/eblits/pkg_postinst.eblit
  19. 11  sys-libs/glibc/files/eblits/pkg_preinst.eblit
  20. 93  sys-libs/glibc/files/eblits/pkg_setup.eblit
  21. 41  sys-libs/glibc/files/eblits/src_compile.eblit
  22. 85  sys-libs/glibc/files/eblits/src_install.eblit
  23. 49  sys-libs/glibc/files/eblits/src_unpack.eblit
  24. 255  sys-libs/glibc/glibc-2.15-r2.ebuild
9  profiles/package.mask/funtoo-toolchain
@@ -5,7 +5,8 @@
5 5
 # linux-headers.
6 6
 
7 7
 # For next toolchain upgrade 
8  
->sys-libs/glibc-2.13-r4
9  
->sys-kernel/linux-headers-2.6.39
10  
->sys-devel/gcc-4.6.2
11  
->sys-devel/binutils-2.21.1-r1
  8
+>sys-libs/glibc-2.15-r2
  9
+>sys-kernel/linux-headers-3.4-r2
  10
+>sys-devel/gcc-4.6.3
  11
+>sys-devel/binutils-2.22-r1
  12
+
13  sys-devel/binutils/Manifest
... ...
@@ -1,15 +1,6 @@
1  
-DIST binutils-2.16.1-patches-1.11.tar.bz2 112286 RMD160 1812f1b793d2ad0ca579bca15647c7b51968d8cc SHA1 b202d37f456d3fd2980b389f366abeffd4d44c46 SHA256 746bf887befe3ace99c92504c25587bae8b34d660a9856318f9512de33df57a2
2  
-DIST binutils-2.16.1-uclibc-patches-1.1.tar.bz2 2108 RMD160 7a410862e1bb94dbe0d3cd992da2ee250b4a0c5d SHA1 855091f0a69789b0984fa3a6855e1f8657aa95b9 SHA256 f62181c2f6c73e4561e3cbcf6260cc44c6db58dc95ce7ef9221b258806eef471
3  
-DIST binutils-2.16.1.tar.bz2 12549917 RMD160 638861a6b709ac380f1bc13d55c6b48d0532b3d0 SHA1 5c80fd5657da47efc16a63fdd93ef7395319fbbf SHA256 351a6846ee179a37ed87a487971547159a7f4f92a1dec598c727f184a0de61ae
4  
-DIST binutils-2.16.91.0.6-patches-1.0.tar.bz2 10082 RMD160 d35034161365e4760e2be672960ff427d05b6164 SHA1 d752d4dc037401e2cc7086b7da2a49e61188607b SHA256 373700234b003ab6a04b9bbad70638902473cc80b8870a0b17d57ec06f67040d
5  
-DIST binutils-2.16.91.0.6-uclibc-patches-1.0.tar.bz2 2134 RMD160 78c870f4106c33aefa8294fe07c903ddeec6516f SHA1 48feebe347d93fcbaa3e604ade29c8dddc4364a1 SHA256 2a945090733f21c69d1116cfebe3bbaa38027cde0c16e6288056cdef5c9287e9
6  
-DIST binutils-2.16.91.0.6.tar.bz2 12634566 RMD160 a359477fbb970bfe6f009b36d83e0969f2a5656d SHA1 6dfe6166502e07b2b146516c80fd17f9d0228f47 SHA256 7cffa91af850d3fd5f086e3690eae05c1d9d5ad82f915b36f0de920a3c9920be
7  
-DIST binutils-2.18-patches-1.10.tar.bz2 19592 RMD160 4e5ffd7b9ccf43020de9690cb24528c24ac79dd7 SHA1 181b0fbf2aa255b53ca60055809db2803412cf48 SHA256 76c9582f3c39baa29d6d27fb388d2edd9f3de50e989dc03a04cc60c8336c5159
8  
-DIST binutils-2.18-patches-1.9.tar.bz2 17221 RMD160 9f1334cf876dffbc3bf4a54c256d97e033b8b356 SHA1 3b898f277d05bfc59266d8ea8c38dff8d3ca7a61 SHA256 063698bb1a6eb7e1f0614ecf8f0560e10655ed83b17e1b3ea621ccff32ffb5fc
9  
-DIST binutils-2.18.tar.bz2 14962245 RMD160 78d07475667c55ecbf9068dbb90362a3445b2a99 SHA1 fdec92e9dfc6c32155869f3910f47041c78e2277 SHA256 487a33a452f0edcf1f8bb8fc23dff5c7a82edec3f3f8b65632b6c945e961ee9b
10  
-DIST binutils-2.19.1-patches-1.2.tar.bz2 10544 RMD160 e0b94133a8e5c248f497fd75fcf923014bce6234 SHA1 a1d805e529473d0661a40fc5cfe88aada44f7af9 SHA256 128c949a46e6c516b5ebb2dbb7be553db7d8f1ee174896d1b63adbd0950030b3
11  
-DIST binutils-2.19.1.tar.bz2 16245771 RMD160 330089af7cb5c6b3994febe8cd2af159218bc012 SHA1 88c91e36cde93433e4c4c2b2e3417777aad84526 SHA256 3e8225b4d7ace0a2039de752e11fd6922d3b89a7259a292c347391c4788739f6
12 1
 DIST binutils-2.20.1-patches-1.0.tar.bz2 14466 RMD160 1ed4da92a25adf5eb6c75042c450a6686dc277c1 SHA1 302b475f73a5f7167de5e72d613d0f7fc8c93904 SHA256 10a77687828a610a45bb2a57e3027fb5aa7180aec183384d3da2de6897838e2e
13 2
 DIST binutils-2.20.1.tar.bz2 17501436 RMD160 2ab2de504a85840d1ec227eff50b5f4d2cad581e SHA1 fd2ba806e6f3a55cee453cb25c86991b26a75dee SHA256 228b84722d87e88e7fdd36869e590e649ab523a0800a7d53df906498afe6f6f8
14 3
 DIST binutils-2.21.1-patches-1.2.tar.bz2 18818 RMD160 02780d12910b50772c61503ae97c0a1f4abc21c2 SHA1 66fbdec01dc3fbcac19a2401ca95d95e8c6cccb4 SHA256 d5ccd0275548019b8408e92be7c9e377350a545b80b6269b1dcdcdcc9f43d06a
15 4
 DIST binutils-2.21.1.tar.bz2 18997755 RMD160 de5ce1d7cb0d44e3ec18c557beefb2a292d59a60 SHA1 525255ca6874b872540c9967a1d26acfbc7c8230 SHA256 cdecfa69f02aa7b05fbcdf678e33137151f361313b2f3e48aba925f64eabf654
  5
+DIST binutils-2.22-patches-1.5.tar.bz2 37350 RMD160 fbcac8a18690dcfb01051ab3ec56671b3675ccfa SHA1 fb171e26273abc62ac06bb78cdd4b2d24e17a15b SHA256 51cad7b3c2d18db0f7d2e4a3e46e37f00eb720cfa663ea396e16dcfbba12a07c
  6
+DIST binutils-2.22.tar.bz2 19973532 RMD160 34cebe4cdca9480d5dc6f6b00b052c48c8ac30dc SHA1 65b304a0b9a53a686ce50a01173d1f40f8efe404 SHA256 6c7af8ed1c8cf9b4b9d6e6fe09a3e1d3d479fe63984ba8b9b26bf356b6313ca9
7  sys-devel/binutils/binutils-2.22-r1.ebuild
... ...
@@ -0,0 +1,7 @@
  1
+# Distributed under the terms of the GNU General Public License v2
  2
+
  3
+PATCHVER="1.5"
  4
+ELF2FLT_VER=""
  5
+inherit toolchain-binutils
  6
+
  7
+KEYWORDS="~*"
56  sys-devel/gcc/Manifest
... ...
@@ -1,26 +1,30 @@
1  
-DIST ecj-4.3.jar 1377431 RMD160 48fa985f763838bed750aa64a2fa997734438099 SHA1 da254944309a8387aa39323fe7bb7216a4518311 SHA256 9de193ea393ed50d868b730bad6916f7a8ef4ba80216f8606d3e1a0dd886e74b
2  
-DIST ecj-4.5.jar 1470676 RMD160 d3f4da657f086b6423f74e93f001132f4855368a SHA1 58c1d79c64c8cd718550f32a932ccfde8d1e6449 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
3  
-DIST gcc-4.1.2-patches-1.3.tar.bz2 50790 RMD160 50900565645d9ea81c5c4a6990b3408f8b16fe29 SHA1 0c1eae0697bfe9e9656ee6c2d3aef97ac7db54cd SHA256 5fbb55d7f7cc136404d7c9375c3912acdcd49588b1d79f21e358efbc303665a3
4  
-DIST gcc-4.1.2-uclibc-patches-1.0.tar.bz2 20980 RMD160 22e0f27e863e3b7c8fe0a5e4846daee17a49d409 SHA1 28033f25fd9b80102c2ae533b78ba332d490e21d SHA256 c6ed88711a727ed11847c9b9f1cef7023037bc80c0840eda5fca6d60fa02e35a
5  
-DIST gcc-4.1.2.tar.bz2 39707720 RMD160 7c5d78e666ccf4c2b2c3db41e2388f08b6cdf722 SHA1 7981b8d1b58b10ddfd7d5142eab16352d9206f3b SHA256 cfc0efbcc6fcde0d416a32dfb246c9df022515a312683fac412578c4fd09a9bc
6  
-DIST gcc-4.3.3-patches-1.2.tar.bz2 78206 RMD160 4860b3947d93f7d678ba60d6c66ac85196ef58d5 SHA1 80e0bae4da426db164a434bbbb21f1bded1084dc SHA256 7bdd062b969fab934d4aff3f1e7cdd06d60d8bddd1ab25d2fe617e41df3aa51a
7  
-DIST gcc-4.3.3-piepatches-v10.1.5.tar.bz2 6036 RMD160 c5e44d583cfc9328fcc0c5ab4026393c28fdba3f SHA1 ff2e9fd4f238523d19806a05f84f1aa5a4c2149b SHA256 7e7a799f9066ab5948ea7ac73b0cb75c91bfa9231bf618bdc0e132e40d6d88d5
8  
-DIST gcc-4.3.3-specs-0.9.4.tar.bz2 1515 RMD160 3a94bf49e628b1714b93f471c363bf0e4ae5d9cd SHA1 e46cd31b4f020d2c6eba748217a921d2678e64b5 SHA256 1cfade221d3873e34bb4719297f0eb811e712d7f095a85dc9e2508e53ffe1cec
9  
-DIST gcc-4.3.3-uclibc-patches-1.1.tar.bz2 2294 RMD160 977c1733242e65c9705fe5e7c7cc92fc87d17c46 SHA1 6aa6bd21b5e7905bf39f3ff5bf3b606527cf7295 SHA256 a15737077039384932138a7c5f209e9a171ad756618a4ea078062816f028a77b
10  
-DIST gcc-4.3.3.tar.bz2 59369954 RMD160 8c20a52633df659cabd66925d8a105a7a1479820 SHA1 e378b7a0cb0f7dbf6436f4efb5756e29a90fdc1c SHA256 309f614a3c7fee88edc4928ff17185a19533949a1642ccf776e87d86303704de
11  
-DIST gcc-4.4.3-patches-1.4.tar.bz2 16294 RMD160 7db83ecabc5adbda8d1ad3af7a742fdeff0e964d SHA1 79eb6d1d71098f3c3a282443a2d854234c82d623 SHA256 aaf3f678982e6e4570afab5acb56408a788cb2a78558011159009000b1c96906
12  
-DIST gcc-4.4.3-piepatches-v0.4.5.tar.bz2 16946 RMD160 a0df02c15ab5436cb270f1b41227b5722dcfcc53 SHA1 355d1fa866e7bde03191d0416b3524696e0c98c6 SHA256 ac853b06d4189dfba1bf72c8565d9ebf893b83cb690377db947cf5a48c802dc4
13  
-DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 RMD160 0a013f95029a170eeea3cb6ccbfd65f64b66f465 SHA1 61bd3c13400772ec4d5d4fcee297e3d86adbd065 SHA256 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2
14  
-DIST gcc-4.4.3-uclibc-patches-1.0.tar.bz2 3014 RMD160 4646449073c54a43f1b72382ab3c611789e6cb59 SHA1 7bb2d5ae871f1bbed51198c274518d2c8bc06689 SHA256 4b44eb274f27cc8ffb0e61e90d829a7a87fd0b49df6f31e7cb3071cc96c00df1
15  
-DIST gcc-4.4.3.tar.bz2 62944934 RMD160 b51afac3cb77ee3dc09d29c2f85936482ed82ab2 SHA1 619766282734728539ce58a5c383cb371f1999c7 SHA256 97ed664694b02b4d58ac2cafe443d02a388f9cb3645e7778843b5086a5fec040
16  
-DIST gcc-4.4.5-patches-1.3.tar.bz2 27365 RMD160 e7cf9267489ef3d40c87ab86bcb0692b71fae587 SHA1 ad4de529e819c12fdf60de571fe1bee9a91c1843 SHA256 76aff36faab022c98458cf6ca08edaaae6319e7cbddad3debc06c794aec71f5b
17  
-DIST gcc-4.4.5-piepatches-v0.4.5.tar.bz2 17600 RMD160 95bfd3d25a4444e9c0bcf98532705d9d8fd6942a SHA1 d3d6d01fc244ecd8a008fdddd05f540c1dba2c3b SHA256 aaa62f69aa8a33d62524261f28377709191a6d819b6018fb2acfb6b660587742
18  
-DIST gcc-4.4.5-uclibc-patches-1.0.tar.bz2 3005 RMD160 173924eea155bbb69a6a9d6e466263a7b053cd13 SHA1 f838571582c65003752fd969a9bcf9a6b1f85531 SHA256 798fbe022c03756d71b775dc4c4135807d15fc1915c53f28c8e2eee6f4546e3e
19  
-DIST gcc-4.4.5.tar.bz2 63081552 RMD160 87d6fa77d50f23a3359e24bf5b0ddfafa7088478 SHA1 2b1427a932a620c909d74f1e4821ed90c90fd350 SHA256 a945eb6cf694a55f83af904f4a3fb41ee07b9d021826dfe66991dfa7f0ea97ce
20  
-DIST gcc-4.6.2-patches-1.1.tar.bz2 12793 RMD160 aecd6190b2c6fa53ff73f95a201e12c55d3f9cb8 SHA1 6cfc40dbfb6cd3809a0f4f556ae81d9cfc10f7f9 SHA256 f90feabeb57dd21050e1357c769e85eb691b2868830b9c076462687533820800
21  
-DIST gcc-4.6.2-patches-1.4.tar.bz2 81415 RMD160 12d0c1090500c75691b51820f0e9bb5e679f3fdd SHA1 3709462b9392dd18d9f9d7ad047234e6c531cfa8 SHA256 3482338982829b5e4f6e3787f54f330ac44f5fda56790ed186ae26f10e082142
22  
-DIST gcc-4.6.2-piepatches-v0.4.5.tar.bz2 14167 RMD160 64123a9ff8b3797c2acd01c63574c38e0cad683d SHA1 de6528ddd27b96d9255d31c5841fcf22bd7830ee SHA256 2ba43e31fbf7c05839774b6e9eb1b63fc228183d6c2464c54edd068dd3d2cea5
23  
-DIST gcc-4.6.2-piepatches-v0.5.0.tar.bz2 14397 RMD160 77bd51e94cf71b9582f0a1e9f01dec1a9c6eea68 SHA1 03fd5104eeef7f6e12b0cd86732593d082643ba7 SHA256 19bf8797bb9a999c3396613e28b0fda3bad80a0815ab30ea08bc1c98a8a51b71
24  
-DIST gcc-4.6.2-uclibc-patches-1.0.tar.bz2 3019 RMD160 7e991775c15d4126bd8d85aceb677c675559606f SHA1 0d316aaf94966cc52b1582282723a932ac065639 SHA256 25e902a6d2db7181394df5ad11fafaad064bf28a6ffebd889033f744613ac201
25  
-DIST gcc-4.6.2.tar.bz2 71995338 RMD160 e7041933b39629f9524848dcf81a1a4c02a225c6 SHA1 691974613b1c1f15ed0182ec539fa54a12dd6f93 SHA256 60b05463dfe18d40d68fb8a71b25b408a01f86cc6ceaf5e6b22238b6b0f450c2
26  
-DIST gdc-0.24-src.tar.bz2 1012099 RMD160 f0f33cc02d88ea1174030988c2006cb90029392a SHA1 2be913fe061429c1a279e4cf882e947d34946303 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a
  1
+DIST ecj-4.3.jar 1377431 SHA256 9de193ea393ed50d868b730bad6916f7a8ef4ba80216f8606d3e1a0dd886e74b
  2
+DIST ecj-4.5.jar 1470676 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
  3
+DIST gcc-4.1.2-patches-1.3.tar.bz2 50790 SHA256 5fbb55d7f7cc136404d7c9375c3912acdcd49588b1d79f21e358efbc303665a3
  4
+DIST gcc-4.1.2-uclibc-patches-1.0.tar.bz2 20980 SHA256 c6ed88711a727ed11847c9b9f1cef7023037bc80c0840eda5fca6d60fa02e35a
  5
+DIST gcc-4.1.2.tar.bz2 39707720 SHA256 cfc0efbcc6fcde0d416a32dfb246c9df022515a312683fac412578c4fd09a9bc
  6
+DIST gcc-4.3.3-patches-1.2.tar.bz2 78206 SHA256 7bdd062b969fab934d4aff3f1e7cdd06d60d8bddd1ab25d2fe617e41df3aa51a
  7
+DIST gcc-4.3.3-piepatches-v10.1.5.tar.bz2 6036 SHA256 7e7a799f9066ab5948ea7ac73b0cb75c91bfa9231bf618bdc0e132e40d6d88d5
  8
+DIST gcc-4.3.3-specs-0.9.4.tar.bz2 1515 SHA256 1cfade221d3873e34bb4719297f0eb811e712d7f095a85dc9e2508e53ffe1cec
  9
+DIST gcc-4.3.3-uclibc-patches-1.1.tar.bz2 2294 SHA256 a15737077039384932138a7c5f209e9a171ad756618a4ea078062816f028a77b
  10
+DIST gcc-4.3.3.tar.bz2 59369954 SHA256 309f614a3c7fee88edc4928ff17185a19533949a1642ccf776e87d86303704de
  11
+DIST gcc-4.4.3-patches-1.4.tar.bz2 16294 SHA256 aaf3f678982e6e4570afab5acb56408a788cb2a78558011159009000b1c96906
  12
+DIST gcc-4.4.3-piepatches-v0.4.5.tar.bz2 16946 SHA256 ac853b06d4189dfba1bf72c8565d9ebf893b83cb690377db947cf5a48c802dc4
  13
+DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 SHA256 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2 SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 WHIRLPOOL 8a1e45aad9d306cb19de93c63b5854a97e629d90852feb6861dcfca042b6257705304fc13ad65655a4cb227d36b83fc6063648c94f270821574ee0e85307094e
  14
+DIST gcc-4.4.3-uclibc-patches-1.0.tar.bz2 3014 SHA256 4b44eb274f27cc8ffb0e61e90d829a7a87fd0b49df6f31e7cb3071cc96c00df1
  15
+DIST gcc-4.4.3.tar.bz2 62944934 SHA256 97ed664694b02b4d58ac2cafe443d02a388f9cb3645e7778843b5086a5fec040
  16
+DIST gcc-4.4.5-patches-1.3.tar.bz2 27365 SHA256 76aff36faab022c98458cf6ca08edaaae6319e7cbddad3debc06c794aec71f5b SHA512 6e4b3e333b0ea74851252316ba12e6a002d50f8b839edbb46d466bfa3eab0d3077dc0035c28ad3928b3433ecf8635c95f6eb4a3e9ce38cb8f9044551d19ab4fa WHIRLPOOL 16a70951d140cc79e5a8ede0da3e8ac8f8835dac69e764d3b322c7de16803726e337a8318cc910a81731d793c3eb010269fefe3ce809c5f281222a8268a95bc8
  17
+DIST gcc-4.4.5-piepatches-v0.4.5.tar.bz2 17600 SHA256 aaa62f69aa8a33d62524261f28377709191a6d819b6018fb2acfb6b660587742 SHA512 fafe66c3e6ee471309266f1750c2cdf8ae41c778f64256d0d65d6a9a064eeac494f9d4261233302f69ca16ced175720b4fadb49bdf8d3596a8c8a34fba3d0395 WHIRLPOOL 79a324fce336f5e20f411a93a9abf0faad410eb3e1940dfcfe3d9897228ff5f151a5967744d20cf57153c7a6c0d8f07b484a87167e70017da66cdc22e5b21ac7
  18
+DIST gcc-4.4.5-uclibc-patches-1.0.tar.bz2 3005 SHA256 798fbe022c03756d71b775dc4c4135807d15fc1915c53f28c8e2eee6f4546e3e SHA512 be765892df083bbc1355464cfcf0bf5d61646445231a4da59a2bf88ba4c687031818386e4a06db289500630d3f75662818f60ff93e42cf2ff65a381d443277f0 WHIRLPOOL cb41be728f2d9896ddb119ff7adddb5535cd87383ecc85c57f6fdda3895526aaf25bb62314ceac50a1db79caa61d7d34353ea616181a222bda2ed828f5c48ddc
  19
+DIST gcc-4.4.5.tar.bz2 63081552 SHA256 a945eb6cf694a55f83af904f4a3fb41ee07b9d021826dfe66991dfa7f0ea97ce SHA512 d98ed79b13b58dc2e83d988514bd9a4dfe0dd4c8538efdfbaf0ec1f58c0aa990c39f97699f43b32d09f6022aacda2552e226c82de8c7b816a15708537f32662e WHIRLPOOL 6a7307fe034b16643fe333ee6e2bac228a44e8872d2c66a7aef9bc58b852fd107ba86df257528878a40eea86a6bda487f86ab5d62cd4e43443c76f174189dfb5
  20
+DIST gcc-4.6.2-patches-1.1.tar.bz2 12793 SHA256 f90feabeb57dd21050e1357c769e85eb691b2868830b9c076462687533820800
  21
+DIST gcc-4.6.2-patches-1.4.tar.bz2 81415 SHA256 3482338982829b5e4f6e3787f54f330ac44f5fda56790ed186ae26f10e082142 SHA512 5289116441ab1002f1dc0e57b9a99933082d1f2680ba123815b9863804cbbd89eff99ccef7572da738955437c222f81448e0ac32cb36ed74b99e5fede5fd06dc WHIRLPOOL fa0da31eff0dc0170e559ed7c4ab1db34de62482fa02496e7921283a4e398c1b9d97c72cc4733309ee01a3902bb859ea2e26a0b29ffa04e0d95b245770160472
  22
+DIST gcc-4.6.2-piepatches-v0.4.5.tar.bz2 14167 SHA256 2ba43e31fbf7c05839774b6e9eb1b63fc228183d6c2464c54edd068dd3d2cea5
  23
+DIST gcc-4.6.2-piepatches-v0.5.0.tar.bz2 14397 SHA256 19bf8797bb9a999c3396613e28b0fda3bad80a0815ab30ea08bc1c98a8a51b71 SHA512 5f91c05ff3519200f4f55a7adabb805f54209d80515111ac8727c1700f06c1a36f79b2e3d8eecadfbd5a4fe58d75311988635e4b474a920cefab8a24ffb0cf59 WHIRLPOOL ee80c656a312a1c1f2fd0d5ff287559e115a9bdf1c2ee4a6266389f478b4c274ad2b5ff8b558eee71a75c6e0141fc053c0d04336742c7f14102c0d2436480893
  24
+DIST gcc-4.6.2-uclibc-patches-1.0.tar.bz2 3019 SHA256 25e902a6d2db7181394df5ad11fafaad064bf28a6ffebd889033f744613ac201 SHA512 b02ce4bd972e80923182b86ff77d9a37b7733985501a9c6f1889d4c77cd0d240ba984d4bd902ba13502fe158b891d313360812f4076044ab58539f2e29930e0e WHIRLPOOL 950bab1bd47d4bf533a618637917449f50d6f9b9bef1b51a9a22248f7d11c1af411d226d57d856ce7736d6d6516345e82ce0fadca18eee68572e1a3af11e4c8b
  25
+DIST gcc-4.6.2.tar.bz2 71995338 SHA256 60b05463dfe18d40d68fb8a71b25b408a01f86cc6ceaf5e6b22238b6b0f450c2 SHA512 51bd123b71b6e4ee4e4b9689a93d328332ea129692f6af2473efdcaedc897a130e4c1948820b3543846d89bb2dd5427b236d2a5d5a6cfa371ba086577f9c0e62 WHIRLPOOL eca8104dbaad1d9682425dd142cbebf3a62a730a1e3d99317f1bd082fb5c0c7fbd0522b3b14f75349618897173fcba79eb82d53718ec8e156bda56f78d1531dd
  26
+DIST gcc-4.6.3-patches-1.6.tar.bz2 17072 SHA256 9ea15c9e289de83954ee5c2ae374a7a5746d31bfc413059b96b8e6e2ccf0cfe4 SHA512 47bc8f2ff384af16a6a92fca05cc8a991833195143f365a911cba4433ab19cf74c256ba90b734e48f875c51471d9bd76d5336aa2b64d965c3142aa78993bf224 WHIRLPOOL df4ca15d8f0a119320bd89cc777605a7e3e910d5389ac610b0748ebbb1b0d6e6de4763a63a84abab5547527e0a631a8ecddd9f6d35317fc89700593275418fc1
  27
+DIST gcc-4.6.3-piepatches-v0.5.2.tar.bz2 15002 SHA256 6606d47a8bbaa9cba0dd3b022cbf6ed14325b8560dd17f7601dbaa4697df3691 SHA512 21ec5bcd43ec0075f8885ef6f567fd9ffd0a64f4c4f9340262900b91a8f22f73a22cd320d6c5a9211083a0a4d21f61ff42e4d9368b5768b395d6ec1b17fc47eb WHIRLPOOL f38666e7c47d9e10b96a22b85c90659800ecfa86d7cf9d5ff69385dc5584fc6ea4b90265ec62d8066adab63a647c1a4bd0f0d1cc69057fcc08c4aa6856cd5766
  28
+DIST gcc-4.6.3-uclibc-patches-1.0.tar.bz2 3023 SHA256 4219a3582c5f98bf8437bfc3feb8c264f8aabd8078caaddef46dd38be33f089f SHA512 e0763dc7f3f94cb9ba6e34233d1a2fa6913918a5100dd029ae76b3b086529b8fafae3086dc22f3294f7d378e5548294264cb2faa80866e8a1ecc666bf60fe010 WHIRLPOOL 1744810d5928b1869929ebd608e1d817e4bcb4f666647bc873e9bdb41c65833a40745e58de5ef4beb98ef4ac539c8560733100a3bbee280c76525ee518ae88c8
  29
+DIST gcc-4.6.3.tar.bz2 71999439 SHA256 e8f5853d4eec2f5ebaf8a72ae4d53c436aacf98153b2499f8635b48c4718a093 SHA512 efedecc1a6d1c36eb91cbecfae9a4414d01051e99965de8a284d1164df3cad13fa99a6dd5a4ceaa03ef63a66884eaf729b49d602ac82088f788bab045ce1eb26 WHIRLPOOL a50059cc5ec5bcf7c7d7108e38087c2168ff0c6817d06b709be901a87007f84cd231ebae0752cdc94fa99c93ecd30ba810d3213aba9f3639292b1e831818ec0c
  30
+DIST gdc-0.24-src.tar.bz2 1012099 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a
57  sys-devel/gcc/gcc-4.6.3.ebuild
... ...
@@ -0,0 +1,57 @@
  1
+# Distributed under the terms of the GNU General Public License v2
  2
+
  3
+PATCH_VER="1.6"
  4
+UCLIBC_VER="1.0"
  5
+
  6
+# Hardened gcc 4 stuff
  7
+PIE_VER="0.5.2"
  8
+SPECS_VER="0.2.0"
  9
+SPECS_GCC_VER="4.4.3"
  10
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
  11
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
  12
+PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64"
  13
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
  14
+# uclibc need tls and nptl support for SSP support
  15
+# uclibc need to be >= 0.9.32
  16
+SSP_UCLIBC_STABLE="x86 amd64 ppc ppc64 arm"
  17
+#end Hardened stuff
  18
+
  19
+inherit toolchain
  20
+
  21
+DESCRIPTION="The GNU Compiler Collection"
  22
+
  23
+LICENSE="GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2"
  24
+KEYWORDS="~*"
  25
+
  26
+RDEPEND=""
  27
+DEPEND="${RDEPEND}
  28
+	elibc_glibc? ( >=sys-libs/glibc-2.8 )
  29
+	amd64? ( multilib? ( gcj? ( app-emulation/emul-linux-x86-xlibs ) ) )
  30
+	>=${CATEGORY}/binutils-2.18"
  31
+
  32
+if [[ ${CATEGORY} != cross-* ]] ; then
  33
+	PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
  34
+fi
  35
+
  36
+src_unpack() {
  37
+	if has_version '<sys-libs/glibc-2.12' ; then
  38
+		ewarn "Your host glibc is too old; disabling automatic fortify."
  39
+		ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
  40
+		EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
  41
+	fi
  42
+
  43
+	toolchain_src_unpack
  44
+
  45
+	use vanilla && return 0
  46
+
  47
+	[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch
  48
+}
  49
+
  50
+pkg_setup() {
  51
+	toolchain_pkg_setup
  52
+
  53
+	ewarn
  54
+	ewarn "LTO support is still experimental and unstable."
  55
+	ewarn "Any bugs resulting from the use of LTO will not be fixed."
  56
+	ewarn
  57
+}
2  sys-kernel/linux-headers/Manifest
@@ -3,8 +3,10 @@ DIST gentoo-headers-2.6.39-1.tar.xz 3216 RMD160 27feab992d4f845acd5f6fc880b37ae9
3 3
 DIST gentoo-headers-3.1-2.tar.xz 3656 RMD160 f219313ee3004826cfa2e93a6d9c2a13c4c9ea7a SHA1 0708051dba8d1ea8dc91d507f63e7515e1f246bd SHA256 ee30fed6c594ff56309aa7cad018419e8c8cde8b2ba85332ba7473d967ebe972
4 4
 DIST gentoo-headers-3.2-3.tar.xz 3972 RMD160 dcdf45de828ef98bd6ab3a2803857d530e657fb2 SHA1 0951087e798c9e426b2746d1f641456db3c1036f SHA256 f3c676a71429ae9309637790651cabee9c190915b3b15462abca35971e0d8822
5 5
 DIST gentoo-headers-3.3-2.tar.xz 34172 RMD160 eb8e3ceb89a4194a3587e1475b674fec76fd975d SHA1 5d9d0b595014d950e1e4e842ff966f150c9a4e7c SHA256 4b50911d5d53c7cdcfe07e6721015d0abe5fe2859117410b399d657ea41f3e36
  6
+DIST gentoo-headers-3.4-3.tar.xz 4332 RMD160 7e55952ba0fe70e91ff14060d82ae611fb69dc72 SHA1 b00c4fc56830bb682001ffe2c2729c80cb470ae2 SHA256 a5413ed53ebe3489f7e35503edacb44c583726890ee123a60ac011a22d02460c
6 7
 DIST gentoo-headers-base-2.6.32.tar.lzma 4181482 RMD160 09067823af4cd65c9f48b514dd12037f4b5b33ed SHA1 be17b0679ad248e87f8bbb4d3a37aefaf6c146a7 SHA256 ae1b8bc31770aeff999ec36d4f28eb96df4191a14c0d384bbcbe569fc2e3d620
7 8
 DIST gentoo-headers-base-2.6.39.tar.xz 4689080 RMD160 2e0cce267e9e2228380c2ac4ca5d8a5471a2327f SHA1 5c52cf4632c2d125912e2334cf35f1d70b15e514 SHA256 ac7d11395bfe196e4da08e009d1b81494f1c4c1b4f08f5be7b002ed1c6669105
8 9
 DIST gentoo-headers-base-3.1.tar.xz 4814816 RMD160 372a0e0fa6dbbc36b91143a1ffc03f843aadff7f SHA1 e0bce0b14ac331f9737c2e4bb61c48fb6ea5f941 SHA256 76bc4baeb1d039a171f6316d3ac6b8f50341937242570988d6705b2d9b02a0c0
9 10
 DIST gentoo-headers-base-3.2.tar.xz 4912432 RMD160 1ad9eff0b9ec9d1eb63b2914521d2512f2ddd88c SHA1 7c74ca48de98c0da1ba44224cff36a598230eb8f SHA256 b22faf6f9c64047c29b5d5d8787dce253df99dd2fd29e69c4de491ab002a6675
10 11
 DIST gentoo-headers-base-3.3.tar.xz 5065432 RMD160 6b2c02a09a406cb366199562d6fcf3203e867a53 SHA1 d3f019fd385531a909406cfa36df27f45d9121ef SHA256 bddc280496d8709039c02cee50dc14106ac6ea6bfafe99abec9f9470b19582ea
  12
+DIST gentoo-headers-base-3.4.tar.xz 5115932 RMD160 886e46aa92181d5804e0117f8bb0a80b3f7ba42c SHA1 63c181ae4139bcf1ce5d5de7981dba4c4a6fdc39 SHA256 c1aceea837dc6c05c869f41897e393cc14ef4b8b3e77440b40ae1684360fc154
50  sys-kernel/linux-headers/linux-headers-3.4-r2.ebuild
... ...
@@ -0,0 +1,50 @@
  1
+# Distributed under the terms of the GNU General Public License v2
  2
+
  3
+EAPI="3"
  4
+
  5
+ETYPE="headers"
  6
+H_SUPPORTEDARCH="alpha amd64 arm bfin cris hppa m68k mips ia64 ppc ppc64 s390 sh sparc x86"
  7
+inherit kernel-2
  8
+detect_version
  9
+
  10
+PATCH_VER="3"
  11
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
  12
+	${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
  13
+
  14
+KEYWORDS="~*"
  15
+
  16
+DEPEND="app-arch/xz-utils
  17
+	dev-lang/perl"
  18
+RDEPEND=""
  19
+
  20
+S=${WORKDIR}/gentoo-headers-base-${PV}
  21
+
  22
+src_unpack() {
  23
+	unpack ${A}
  24
+}
  25
+
  26
+src_prepare() {
  27
+	[[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
  28
+}
  29
+
  30
+src_install() {
  31
+	kernel-2_src_install
  32
+	cd "${D}"
  33
+	egrep -r \
  34
+		-e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
  35
+		-e '\<([us](8|16|32|64))\>' \
  36
+		.
  37
+	headers___fix $(find -type f)
  38
+
  39
+	egrep -l -r -e '__[us](8|16|32|64)' "${D}" | xargs grep -L linux/types.h
  40
+
  41
+	# hrm, build system sucks
  42
+	find "${D}" '(' -name '.install' -o -name '*.cmd' ')' -print0 | xargs -0 rm -f
  43
+
  44
+	# provided by libdrm (for now?)
  45
+	rm -rf "${D}"/$(kernel_header_destdir)/drm
  46
+}
  47
+
  48
+src_test() {
  49
+	emake ARCH=$(tc-arch-kernel) headers_check || die
  50
+}
27  sys-libs/glibc/Manifest
... ...
@@ -1,12 +1,15 @@
1  
-DIST glibc-2.10.1-patches-6.tar.bz2 113352 RMD160 6874a93e993bb082fc4fd23582b5f6bd1044ec28 SHA1 2448fa11229deeaf7a2135510d35bbdbfe9f31e0 SHA256 36a838d5be4fb96f0471d288f172443df28867c301e7790667e1cb57615e6c04
2  
-DIST glibc-2.10.1.tar.bz2 16106243 RMD160 ca102519ab32714e788a0db5dd43c2f9962c86e9 SHA1 cb478cf9d6e2c905a1a4f4a2cae44a320b8dc50b SHA256 cbad3e637eab613184405a87a2bf08a41991a0e512a3ced60d120effc73de667
3  
-DIST glibc-2.11.2-patches-6.tar.bz2 117116 RMD160 5e2dda6ddd8620af9513aae1033595ebd149c8f9 SHA1 b0f4b73a49d1117649acd74523bb5358e54cbf5e SHA256 490b81357fc43f2d23a050ed39440363b223c1e3f34e77b4596b981680fd9f23
4  
-DIST glibc-2.11.2.tar.bz2 15675392 RMD160 15d14fb6b0b58ec3fb7781efa2f8a558fcb99a7e SHA1 23b477f4816a97e007be1e98abc1ffe2af13ba9e SHA256 c2ac76ee363eed31b2a377489fb2818139f4668b5505ad583009eb9b0e228713
5  
-DIST glibc-2.11.3-patches-2.tar.bz2 110859 RMD160 82150c671e19df102cf4cf92f5ff914e6328c064 SHA1 e371d86437839227c5927cf8c13730aeb893f75b SHA256 4dabab8bbe0acf80bac483105ef17f0968be30bb67579a5225e1bab590948d29
6  
-DIST glibc-2.11.3.tar.bz2 15667797 RMD160 a5cc802ddff6c2e96f63a9dacbb429d0e9114e2d SHA1 2685601493829b0399578c87add614786b98c30b SHA256 9c10538262c13018910721b8160e6caf65ba38ca2750c5710bd220e44d696afa
7  
-DIST glibc-2.13-patches-8.tar.bz2 114419 RMD160 6f3f1542184d9765b38f599297514e36b11694ad SHA1 73887ad82a102a7fde091e54c7284b8ce2dfcf0c SHA256 536d06763d87ac8b43517df34bcf8f0cfb9263eec8dbd2f2d6cc0a510f7b03b2
8  
-DIST glibc-2.13.tar.bz2 15725729 RMD160 cf34e4a06a2602deed709e2ee10cf7446a824989 SHA1 14d83dced873a21a3da6a0bfa0926f40d82ef980 SHA256 0173c92a0545e6d99a46a4fbed2da00ba26556f5c6198e2f9f1631ed5318dbb2
9  
-DIST glibc-libidn-2.10.1.tar.bz2 102248 RMD160 0fbb3ecc09f59f0b9e90e0669bd9cd6075164173 SHA1 50c1ac0d9ddff6eb83f75aa1c4cb84ba6fffa0cd SHA256 0fa72d1dd06a30642d3bb20a659f4ed0f4af54a205d7102896b68169b38676dc
10  
-DIST glibc-ports-2.10.1.tar.bz2 584860 RMD160 1f094d4df18306ccb01037d07f0a0e3014fdfc60 SHA1 3cc9eff22d624c5fb6d951bbcb31b40112238fe7 SHA256 b1f1ec9720036a3a33598b8478eef102535444a083d5b5813a6981ed74ab4071
11  
-DIST glibc-ports-2.11.tar.bz2 599606 RMD160 e7262cb903b42d27bd0666fb170d2abb4c8b478f SHA1 76a0513c74b80e34f81abcaabbc538fa0f33b6a4 SHA256 38d212b1a22ed121c97f2827e7357e3e077084635ebc197246993d328b1b6589
12  
-DIST glibc-ports-2.13.tar.bz2 625945 RMD160 676406e35c8e4fdceb4fcfa83bfbdb1ef3a3aa6a SHA1 1cc771b4bf80f4b0872a342763f4aa4a9a9292cd SHA256 b11c4501ae929883447f409c31d65e82822b1c5693075a825a3d54612876ee5a
  1
+DIST glibc-2.10.1-patches-6.tar.bz2 113352 SHA256 36a838d5be4fb96f0471d288f172443df28867c301e7790667e1cb57615e6c04
  2
+DIST glibc-2.10.1.tar.bz2 16106243 SHA256 cbad3e637eab613184405a87a2bf08a41991a0e512a3ced60d120effc73de667
  3
+DIST glibc-2.11.2-patches-6.tar.bz2 117116 SHA256 490b81357fc43f2d23a050ed39440363b223c1e3f34e77b4596b981680fd9f23
  4
+DIST glibc-2.11.2.tar.bz2 15675392 SHA256 c2ac76ee363eed31b2a377489fb2818139f4668b5505ad583009eb9b0e228713
  5
+DIST glibc-2.11.3-patches-2.tar.bz2 110859 SHA256 4dabab8bbe0acf80bac483105ef17f0968be30bb67579a5225e1bab590948d29
  6
+DIST glibc-2.11.3.tar.bz2 15667797 SHA256 9c10538262c13018910721b8160e6caf65ba38ca2750c5710bd220e44d696afa
  7
+DIST glibc-2.13-patches-8.tar.bz2 114419 SHA256 536d06763d87ac8b43517df34bcf8f0cfb9263eec8dbd2f2d6cc0a510f7b03b2 SHA512 8d42f5882ad4a6650a387e0aefdd9e53d66d7040ffbcd8bbd0995b6b3ee9c9099a5e287d872bbe7f4b42c08e618be341b21da0c3f800454d4a6ef34fbb41ec8f WHIRLPOOL 1c8e2b6cf59ef03be4ab8a7c3f42d5451857e7187616778230449e725757de4f3b5c864883b5afb4eab457fc844f5af6eb5183ab035b966abd371b26feae8abe
  8
+DIST glibc-2.13.tar.bz2 15725729 SHA256 0173c92a0545e6d99a46a4fbed2da00ba26556f5c6198e2f9f1631ed5318dbb2 SHA512 7fdae9acdbe8cbfda008f107ffd1559c0163ff70730a5bc618f1f15b64096a813a3495e0b2d2be7b7206bef3ed9ca67a68fd2004c8275ffeffa38b70c80887e0 WHIRLPOOL cfaeb0831f177926610d2c89bd6bd20735107ac4738ee0485a2d2e14b13c986e68e64c8f9093b89f135c3d7eb94fc2230b9f3837f3841a8bc2bc886ff5415005
  9
+DIST glibc-2.15-patches-21.tar.bz2 110297 SHA256 5553c0a37c5c0a3abb303850fa9d2ad309e2f47c3f42806c2f1dd32a48affbfe SHA512 5255ef053a2c30f9cae583133094f41604385b9d6e653a0d6aab1d13d69e6c8cbf16fde712607ab0bac738944a0410ddc050dc231ad4ea7d3584271937b0b059 WHIRLPOOL d70249c6c3c3c0a4d02c3ebbf0309bd6b3da3962231c153c77be38d217e2f57e0eba88614e34f0f219f485ba8f8474586d0059cfc505e44f312396e6a753d441
  10
+DIST glibc-2.15.tar.xz 10280176 SHA256 321ec482abdc27b03244f7b345ee22dc431bc55daf9c000a4e7b040fbdbecb50 SHA512 fc8bc407cd9edfd79bd286d28c84e0b8224e1f57c1d318e73da098a9693257d78970178fd59f487f0321a079fcb772e8e78473fab52f091b2addb0a48fe8dcf7 WHIRLPOOL 061fc0c9915bd821dc31c2fea8e4f9a75b6c7ec0c935ea713d8c087408a8bf3c600179273438f3d9748fe40b946866b2f160e6da6fee4da51e549a30d0f0ebbc
  11
+DIST glibc-libidn-2.10.1.tar.bz2 102248 SHA256 0fa72d1dd06a30642d3bb20a659f4ed0f4af54a205d7102896b68169b38676dc
  12
+DIST glibc-ports-2.10.1.tar.bz2 584860 SHA256 b1f1ec9720036a3a33598b8478eef102535444a083d5b5813a6981ed74ab4071
  13
+DIST glibc-ports-2.11.tar.bz2 599606 SHA256 38d212b1a22ed121c97f2827e7357e3e077084635ebc197246993d328b1b6589
  14
+DIST glibc-ports-2.13.tar.bz2 625945 SHA256 b11c4501ae929883447f409c31d65e82822b1c5693075a825a3d54612876ee5a SHA512 39ed578db363dab05e54d5272d3a8a0600493b91985c65a4d043b5a88d617ff46cca2d66d99ae69e92282d8f8a2357e79dcd5b0ae45b505497417d5137866ad6 WHIRLPOOL 766309e315f2f7edbe0b431691ea16f9917dd2f1c8d54b707e819b695f26dedac2d60c3a58499ee1b51a218b982e9930e49f79db096e166576c215a6ccac21e5
  15
+DIST glibc-ports-2.15.tar.xz 421820 SHA256 fcc271fcc3a808bf0f3aa1d144bc39b8d0d5f730aed6e206b883961515f0d1b9 SHA512 fc3c80a9a7ede0f35054e5be043fff4b967e6ef6678f42e617dd1dd498920edb4e4c785cf8e3cd97fc2914a35a892e0fd7e1aab24f0c3c8d207765a131bf3744 WHIRLPOOL a8a617eacb326615265832f86a7ef39678364b5b65d5c16d58680ec0debfbca6780018b7da9c1a86bdfffcde58aa1258b96ea4bd50b114901b522e62d48ae4a5
290  sys-libs/glibc/files/eblits-2.15/common.eblit
... ...
@@ -0,0 +1,290 @@
  1
+# Copyright 1999-2012 Gentoo Foundation
  2
+# Distributed under the terms of the GNU General Public License v2
  3
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/common.eblit,v 1.27 2012/06/19 22:06:23 vapier Exp $
  4
+
  5
+alt_prefix() {
  6
+	is_crosscompile && echo /usr/${CTARGET}
  7
+}
  8
+
  9
+# We need to be able to set alternative headers for
  10
+# compiling for non-native platform
  11
+# Will also become useful for testing kernel-headers without screwing up
  12
+# the whole system.
  13
+# note: intentionally undocumented.
  14
+alt_headers() {
  15
+	echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
  16
+}
  17
+alt_build_headers() {
  18
+	if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
  19
+		ALT_BUILD_HEADERS=$(alt_headers)
  20
+		if tc-is-cross-compiler ; then
  21
+			ALT_BUILD_HEADERS=${ROOT}$(alt_headers)
  22
+			if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
  23
+				local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
  24
+				ALT_BUILD_HEADERS=${header_path%/linux/version.h}
  25
+			fi
  26
+		fi
  27
+	fi
  28
+	echo "${ALT_BUILD_HEADERS}"
  29
+}
  30
+
  31
+alt_libdir() {
  32
+	echo $(alt_prefix)/$(get_libdir)
  33
+}
  34
+alt_usrlibdir() {
  35
+	echo $(alt_prefix)/usr/$(get_libdir)
  36
+}
  37
+
  38
+setup_target_flags() {
  39
+	# This largely mucks with compiler flags.  None of which should matter
  40
+	# when building up just the headers.
  41
+	just_headers && return 0
  42
+
  43
+	case $(tc-arch) in
  44
+		x86)
  45
+			# -march needed for #185404 #199334
  46
+			if ! glibc_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
  47
+				local t=${CTARGET_OPT:-${CTARGET}}
  48
+				t=${t%%-*}
  49
+				filter-flags '-march=*'
  50
+				export CFLAGS="-march=${t} ${CFLAGS}"
  51
+				einfo "Auto adding -march=${t} to CFLAGS #185404"
  52
+			fi
  53
+		;;
  54
+		amd64)
  55
+			# -march needed for #185404 #199334
  56
+			if ! glibc_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
  57
+				local t=${CTARGET_OPT:-${CTARGET}}
  58
+				t=${t%%-*}
  59
+				filter-flags '-march=*'
  60
+				# ugly, ugly, ugly.  ugly.
  61
+				CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
  62
+				export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
  63
+				einfo "Auto adding -march=${t} to CFLAGS_x86 #185404"
  64
+			fi
  65
+		;;
  66
+		ppc)
  67
+			append-flags "-freorder-blocks"
  68
+		;;
  69
+		sparc)
  70
+			# Both sparc and sparc64 can use -fcall-used-g6.  -g7 is bad, though.
  71
+			filter-flags "-fcall-used-g7"
  72
+			append-flags "-fcall-used-g6"
  73
+			filter-flags "-mvis"
  74
+
  75
+			GLIBCMAJOR=$(get_version_component_range 1 ${PV})
  76
+			GLIBCMINOR=$(get_version_component_range 2 ${PV})
  77
+
  78
+			# set CTARGET_OPT so glibc can use cpu-specific .S files for better performance
  79
+			# - UltraSPARC T1 (niagara) support requires >= glibc 2.8
  80
+			# - UltraSPARC T2 (niagara2) support requires >= glibc 2.7
  81
+
  82
+			if is_crosscompile || [[ ${PROFILE_ARCH} == "sparc64" ]] || { has_multilib_profile && ! tc-is-cross-compiler; } ; then
  83
+				case ${ABI}:${CTARGET} in
  84
+					sparc64:*|\
  85
+					default:sparc64*)
  86
+						filter-flags -Wa,-xarch -Wa,-A
  87
+
  88
+						if is-flagq "-mcpu=niagara2" && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.7 ]] ; then
  89
+							CTARGET_OPT="sparc64v2-unknown-linux-gnu"
  90
+							append-flags "-Wa,-xarch=v9b"
  91
+							export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
  92
+						elif { is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2" ; } && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.6 ]] ; then
  93
+							CTARGET_OPT="sparc64v-unknown-linux-gnu"
  94
+							append-flags "-Wa,-xarch=v9b"
  95
+							export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
  96
+						elif is-flagq "-mcpu=ultrasparc3" || is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2"; then
  97
+							CTARGET_OPT="sparc64b-unknown-linux-gnu"
  98
+							append-flags "-Wa,-xarch=v9b"
  99
+							export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
  100
+						else
  101
+							CTARGET_OPT="sparc64-unknown-linux-gnu"
  102
+							append-flags "-Wa,-xarch=v9a"
  103
+							export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9a"
  104
+						fi
  105
+					;;
  106
+					*)
  107
+						if is-flagq "-mcpu=niagara2" && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.7 ]] ; then
  108
+							CTARGET_OPT="sparcv9v2-unknown-linux-gnu"
  109
+						elif { is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2" ; } && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.6 ]] ; then
  110
+							CTARGET_OPT="sparcv9v-unknown-linux-gnu"
  111
+						elif is-flagq "-mcpu=ultrasparc3" || is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2"; then
  112
+							CTARGET_OPT="sparcv9b-unknown-linux-gnu"
  113
+						else
  114
+							CTARGET_OPT="sparcv9-unknown-linux-gnu"
  115
+						fi
  116
+					;;
  117
+				esac
  118
+			else
  119
+				if is-flagq "-mcpu=niagara2" && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.7 ]] ; then
  120
+					CTARGET_OPT="sparcv9v2-unknown-linux-gnu"
  121
+				elif { is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2" ; } && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.6 ]] ; then
  122
+					CTARGET_OPT="sparcv9v-unknown-linux-gnu"
  123
+				elif is-flagq "-mcpu=ultrasparc3" || is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2"; then
  124
+					CTARGET_OPT="sparcv9b-unknown-linux-gnu"
  125
+				elif { is_crosscompile && want_nptl; } || is-flagq "-mcpu=ultrasparc2" || is-flagq "-mcpu=ultrasparc"; then
  126
+					CTARGET_OPT="sparcv9-unknown-linux-gnu"
  127
+				fi
  128
+			fi
  129
+		;;
  130
+	esac
  131
+}
  132
+
  133
+setup_flags() {
  134
+	# Make sure host make.conf doesn't pollute us
  135
+	if is_crosscompile || tc-is-cross-compiler ; then
  136
+		CHOST=${CTARGET} strip-unsupported-flags
  137
+	fi
  138
+
  139
+	# Store our CFLAGS because it's changed depending on which CTARGET
  140
+	# we are building when pulling glibc on a multilib profile
  141
+	CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
  142
+	CFLAGS=${CFLAGS_BASE}
  143
+	CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
  144
+	CXXFLAGS=${CXXFLAGS_BASE}
  145
+	ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
  146
+	ASFLAGS=${ASFLAGS_BASE}
  147
+
  148
+	# Over-zealous CFLAGS can often cause problems.  What may work for one
  149
+	# person may not work for another.  To avoid a large influx of bugs
  150
+	# relating to failed builds, we strip most CFLAGS out to ensure as few
  151
+	# problems as possible.
  152
+	strip-flags
  153
+	strip-unsupported-flags
  154
+	filter-flags -m32 -m64 -mabi=*
  155
+
  156
+	unset CBUILD_OPT CTARGET_OPT
  157
+	if has_multilib_profile ; then
  158
+		CTARGET_OPT=$(get_abi_CTARGET)
  159
+		[[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
  160
+	fi
  161
+
  162
+	setup_target_flags
  163
+
  164
+	if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
  165
+		CBUILD_OPT=${CTARGET_OPT}
  166
+	fi
  167
+
  168
+	# Lock glibc at -O2 -- linuxthreads needs it and we want to be
  169
+	# conservative here.  -fno-strict-aliasing is to work around #155906
  170
+	filter-flags -O?
  171
+	append-flags -O2 -fno-strict-aliasing
  172
+
  173
+	# Cant build glibc itself with fortify code
  174
+	append-cppflags -U_FORTIFY_SOURCE
  175
+
  176
+	# building glibc with SSP is fraught with difficulty, especially
  177
+	# due to __stack_chk_fail_local which would mean significant changes
  178
+	# to the glibc build process. See bug #94325 #293721
  179
+	use hardened && gcc-specs-ssp && append-cflags $(test-flags-CC -fno-stack-protector)
  180
+
  181
+	if use hardened && gcc-specs-pie ; then
  182
+		# Force PIC macro definition for all compilations since they're all
  183
+		# either -fPIC or -fPIE with the default-PIE compiler.
  184
+		append-cppflags -DPIC
  185
+	else
  186
+		# Don't build -fPIE without the default-PIE compiler and the
  187
+		# hardened-pie patch
  188
+		filter-flags -fPIE
  189
+	fi
  190
+}
  191
+
  192
+want_nptl() {
  193
+	[[ -z ${LT_VER} ]] && return 0
  194
+	want_tls || return 1
  195
+	use nptl || return 1
  196
+
  197
+	# Only list the arches that cannot do NPTL
  198
+	case $(tc-arch) in
  199
+		m68k) return 1;;
  200
+		sparc)
  201
+			# >= v9 is needed for nptl.
  202
+			[[ ${PROFILE_ARCH} == "sparc" ]] && return 1
  203
+		;;
  204
+	esac
  205
+
  206
+	return 0
  207
+}
  208
+
  209
+want_linuxthreads() {
  210
+	[[ -z ${LT_VER} ]] && return 1
  211
+	use linuxthreads
  212
+}
  213
+
  214
+want_tls() {
  215
+	# Archs that can use TLS (Thread Local Storage)
  216
+	case $(tc-arch) in
  217
+		x86)
  218
+			# requires i486 or better #106556
  219
+			[[ ${CTARGET} == i[4567]86* ]] && return 0
  220
+			return 1
  221
+		;;
  222
+	esac
  223
+
  224
+	return 0
  225
+}
  226
+
  227
+want__thread() {
  228
+	want_tls || return 1
  229
+
  230
+	# For some reason --with-tls --with__thread is causing segfaults on sparc32.
  231
+	[[ ${PROFILE_ARCH} == "sparc" ]] && return 1
  232
+
  233
+	[[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD}
  234
+
  235
+	# only test gcc -- cant test linking yet
  236
+	tc-has-tls -c ${CTARGET}
  237
+	WANT__THREAD=$?
  238
+
  239
+	return ${WANT__THREAD}
  240
+}
  241
+
  242
+use_multiarch() {
  243
+	# Make sure binutils is new enough to support indirect functions #336792
  244
+	# This funky sed supports gold and bfd linkers.
  245
+	local bver nver
  246
+	bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
  247
+	case $(tc-arch ${CTARGET}) in
  248
+		amd64|x86) nver="2.20" ;;
  249
+		sparc)     nver="2.21" ;;
  250
+		*)         return 1 ;;
  251
+	esac
  252
+	version_is_at_least ${nver} ${bver}
  253
+}
  254
+
  255
+# Setup toolchain variables that had historically
  256
+# been defined in the profiles for these archs.
  257
+setup_env() {
  258
+	# silly users
  259
+	unset LD_RUN_PATH
  260
+
  261
+	multilib_env ${CTARGET_OPT:-${CTARGET}}
  262
+	if is_crosscompile || tc-is-cross-compiler ; then
  263
+		if ! use multilib ; then
  264
+			MULTILIB_ABIS=${DEFAULT_ABI}
  265
+		else
  266
+			MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
  267
+		fi
  268
+
  269
+		# If the user has CFLAGS_<CTARGET> in their make.conf, use that,
  270
+		# and fall back on CFLAGS.
  271
+		local VAR=CFLAGS_${CTARGET//[-.]/_}
  272
+		CFLAGS=${!VAR-${CFLAGS}}
  273
+	fi
  274
+
  275
+	setup_flags
  276
+
  277
+	export ABI=${ABI:-${DEFAULT_ABI:-default}}
  278
+
  279
+	local VAR=CFLAGS_${ABI}
  280
+	# We need to export CFLAGS with abi information in them because glibc's
  281
+	# configure script checks CFLAGS for some targets (like mips).  Keep
  282
+	# around the original clean value to avoid appending multiple ABIs on
  283
+	# top of each other.
  284
+	: ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})}
  285
+	export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}"
  286
+}
  287
+
  288
+just_headers() {
  289
+	is_crosscompile && use crosscompile_opts_headers-only
  290
+}
27  sys-libs/glibc/files/eblits-2.15/pkg_postinst.eblit
... ...
@@ -0,0 +1,27 @@
  1
+# Copyright 1999-2012 Gentoo Foundation
  2
+# Distributed under the terms of the GNU General Public License v2
  3
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/pkg_postinst.eblit,v 1.2 2012/04/15 20:04:44 vapier Exp $
  4
+
  5
+eblit-glibc-pkg_postinst() {
  6
+	# nothing to do if just installing headers
  7
+	just_headers && return
  8
+
  9
+	if ! tc-is-cross-compiler && [[ -x ${ROOT}/usr/sbin/iconvconfig ]] ; then
  10
+		# Generate fastloading iconv module configuration file.
  11
+		"${ROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}"
  12
+	fi
  13
+
  14
+	if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then
  15
+		# Reload init ... if in a chroot or a diff init package, ignore
  16
+		# errors from this step #253697
  17
+		/sbin/telinit U 2>/dev/null
  18
+
  19
+		# if the host locales.gen contains no entries, we'll install everything
  20
+		local locale_list="${ROOT}etc/locale.gen"
  21
+		if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
  22
+			ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
  23
+			locale_list="${ROOT}usr/share/i18n/SUPPORTED"
  24
+		fi
  25
+		locale-gen -j $(makeopts_jobs) --config "${locale_list}"
  26
+	fi
  27
+}
83  sys-libs/glibc/files/eblits-2.15/pkg_preinst.eblit
... ...
@@ -0,0 +1,83 @@
  1
+# Copyright 1999-2011 Gentoo Foundation
  2
+# Distributed under the terms of the GNU General Public License v2
  3
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/pkg_preinst.eblit,v 1.4 2011/11/16 16:07:46 vapier Exp $
  4
+
  5
+fix_lib64_symlinks() {
  6
+	# the original Gentoo/AMD64 devs decided that since 64bit is the native
  7
+	# bitdepth for AMD64, lib should be used for 64bit libraries. however,
  8
+	# this ignores the FHS and breaks multilib horribly... especially
  9
+	# since it wont even work without a lib64 symlink anyways. *rolls eyes*
  10
+	# see bug 59710 for more information.
  11
+	# Travis Tilley <lv@gentoo.org> (08 Aug 2004)
  12
+	if [ -L ${ROOT}/lib64 ] ; then
  13
+		ewarn "removing /lib64 symlink and moving lib to lib64..."
  14
+		ewarn "dont hit ctrl-c until this is done"
  15
+		rm ${ROOT}/lib64
  16
+		# now that lib64 is gone, nothing will run without calling ld.so
  17
+		# directly. luckily the window of brokenness is almost non-existant
  18
+		use amd64 && /lib/ld-linux-x86-64.so.2 /bin/mv ${ROOT}/lib ${ROOT}/lib64
  19
+		use ppc64 && /lib/ld64.so.1 /bin/mv ${ROOT}/lib ${ROOT}/lib64
  20
+		# all better :)
  21
+		ldconfig
  22
+		ln -s lib64 ${ROOT}/lib
  23
+		einfo "done! :-)"
  24
+		einfo "fixed broken lib64/lib symlink in ${ROOT}"
  25
+	fi
  26
+	if [ -L ${ROOT}/usr/lib64 ] ; then
  27
+		rm ${ROOT}/usr/lib64
  28
+		mv ${ROOT}/usr/lib ${ROOT}/usr/lib64
  29
+		ln -s lib64 ${ROOT}/usr/lib
  30
+		einfo "fixed broken lib64/lib symlink in ${ROOT}/usr"
  31
+	fi
  32
+	if [ -L ${ROOT}/usr/X11R6/lib64 ] ; then
  33
+		rm ${ROOT}/usr/X11R6/lib64
  34
+		mv ${ROOT}/usr/X11R6/lib ${ROOT}/usr/X11R6/lib64
  35
+		ln -s lib64 ${ROOT}/usr/X11R6/lib
  36
+		einfo "fixed broken lib64/lib symlink in ${ROOT}/usr/X11R6"
  37
+	fi
  38
+}
  39
+
  40
+eblit-glibc-pkg_preinst() {
  41
+	# nothing to do if just installing headers
  42
+	just_headers && return
  43
+
  44
+	# PPC64+others may want to eventually be added to this logic if they
  45
+	# decide to be multilib compatible and FHS compliant. note that this
  46
+	# chunk of FHS compliance only applies to 64bit archs where 32bit
  47
+	# compatibility is a major concern (not IA64, for example).
  48
+
  49
+	# amd64's 2005.0 is the first amd64 profile to not need this code.
  50
+	# 2005.0 is setup properly, and this is executed as part of the
  51
+	# 2004.3 -> 2005.0 upgrade script.
  52
+	# It can be removed after 2004.3 has been purged from portage.
  53
+	{ use amd64 || use ppc64; } && [ "$(get_libdir)" == "lib64" ] && ! has_multilib_profile && fix_lib64_symlinks
  54
+
  55
+	# prepare /etc/ld.so.conf.d/ for files
  56
+	mkdir -p "${ROOT}"/etc/ld.so.conf.d
  57
+
  58
+	# simple test to make sure our new glibc isnt completely broken.
  59
+	# make sure we don't test with statically built binaries since
  60
+	# they will fail.  also, skip if this glibc is a cross compiler.
  61
+	[[ ${ROOT} != "/" ]] && return 0
  62
+	[[ -d ${D}/$(get_libdir) ]] || return 0
  63
+	cd / #228809
  64
+	local x striptest
  65
+	for x in date env ls true uname ; do
  66
+		x=$(type -p ${x})
  67
+		[[ -z ${x} ]] && continue
  68
+		striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null)
  69
+		[[ -z ${striptest} ]] && continue
  70
+		[[ ${striptest} == *"statically linked"* ]] && continue
  71
+		# we enter ${D} so to avoid trouble if the path contains
  72
+		# special characters; for instance if the path contains the
  73
+		# colon character (:), then the linker will try to split it
  74
+		# and look for the libraries in an unexpected place. This can
  75
+		# lead to unsafe code execution if the generated prefix is
  76
+		# within a world-writable directory
  77
+		# (e.g. /var/tmp/portage:${HOSTNAME})
  78
+		pushd "${D}"/$(get_libdir) 2>/dev/null
  79
+		./ld-*.so --library-path . ${x} > /dev/null \
  80
+			|| die "simple run test (${x}) failed"
  81
+		popd 2>/dev/null
  82
+	done
  83
+}
122  sys-libs/glibc/files/eblits-2.15/pkg_setup.eblit
... ...
@@ -0,0 +1,122 @@
  1
+# Copyright 1999-2011 Gentoo Foundation
  2
+# Distributed under the terms of the GNU General Public License v2
  3
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/pkg_setup.eblit,v 1.10 2011/12/14 16:42:46 vapier Exp $
  4
+
  5
+glibc_compile_test() {
  6
+	local ret save_cflags=${CFLAGS}
  7
+	CFLAGS+=" $1"
  8
+	shift
  9
+
  10
+	pushd "${T}" >/dev/null
  11
+
  12
+	rm -f glibc-test*
  13
+	printf '%b' "$*" > glibc-test.c
  14
+
  15
+	emake -s glibc-test
  16
+	ret=$?
  17
+
  18
+	popd >/dev/null
  19
+
  20
+	CFLAGS=${save_cflags}
  21
+	return ${ret}
  22
+}
  23
+
  24
+glibc_run_test() {
  25
+	local ret
  26
+
  27
+	if [[ ${EMERGE_FROM} == "binary" ]] ; then
  28
+		# ignore build failures when installing a binary package #324685
  29
+		glibc_compile_test "" "$@" 2>/dev/null || return 0
  30
+	else
  31
+		if ! glibc_compile_test "" "$@" ; then
  32
+			ewarn "Simple build failed ... assuming this is desired #324685"
  33
+			return 0
  34
+		fi
  35
+	fi
  36
+
  37
+	pushd "${T}" >/dev/null
  38
+
  39
+	./glibc-test
  40
+	ret=$?
  41
+	rm -f glibc-test*
  42
+
  43
+	popd >/dev/null
  44
+
  45
+	return ${ret}
  46
+}
  47
+
  48
+eblit-glibc-pkg_setup() {
  49
+	# prevent native builds from downgrading ... maybe update to allow people
  50
+	# to change between diff -r versions ? (2.3.6-r4 -> 2.3.6-r2)
  51
+	if [[ ${ROOT} == "/" ]] && [[ ${CBUILD} == ${CHOST} ]] && [[ ${CHOST} == ${CTARGET} ]] ; then
  52
+		if has_version '>'${CATEGORY}/${PF} ; then
  53
+			eerror "Sanity check to keep you from breaking your system:"
  54
+			eerror " Downgrading glibc is not supported and a sure way to destruction"
  55
+			die "aborting to save your system"
  56
+		fi
  57
+
  58
+		if ! glibc_run_test '#include <pwd.h>\nint main(){return getpwuid(0)==0;}\n'
  59
+		then
  60
+			eerror "Your patched vendor kernel is broken.  You need to get an"
  61
+			eerror "update from whoever is providing the kernel to you."
  62
+			eerror "http://sourceware.org/bugzilla/show_bug.cgi?id=5227"
  63
+			eerror "http://bugs.gentoo.org/262698"
  64
+			die "keeping your system alive, say thank you"
  65
+		fi
  66
+
  67
+		if ! glibc_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n'
  68
+		then
  69
+			eerror "Your old kernel is broken.  You need to update it to"
  70
+			eerror "a newer version as syscall(<bignum>) will break."
  71
+			eerror "http://bugs.gentoo.org/279260"
  72
+			die "keeping your system alive, say thank you"
  73
+		fi
  74
+	fi
  75
+
  76
+	# users have had a chance to phase themselves, time to give em the boot
  77
+	if [[ -e ${ROOT}/etc/locale.gen ]] && [[ -e ${ROOT}/etc/locales.build ]] ; then
  78
+		eerror "You still haven't deleted ${ROOT}/etc/locales.build."
  79
+		eerror "Do so now after making sure ${ROOT}/etc/locale.gen is kosher."
  80
+		die "lazy upgrader detected"
  81
+	fi
  82
+
  83
+	if [[ ${CTARGET} == i386-* ]] ; then
  84
+		eerror "i386 CHOSTs are no longer supported."
  85
+		eerror "Chances are you don't actually want/need i386."
  86
+		eerror "Please read http://www.gentoo.org/doc/en/change-chost.xml"
  87
+		die "please fix your CHOST"
  88
+	fi
  89
+
  90
+	if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
  91
+		ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
  92
+		ewarn "This will result in a 50% performance penalty when running with a 32bit"
  93
+		ewarn "hypervisor, which is probably not what you want."
  94
+	fi
  95
+
  96
+	use hardened && ! gcc-specs-pie && \
  97
+		ewarn "PIE hardening not applied, as your compiler doesn't default to PIE"
  98
+
  99
+	# Make sure host system is up to date #394453
  100
+	if has_version '<sys-libs/glibc-2.13' && \
  101
+	   [[ -n $(scanelf -qys__guard -F'#s%F' "${ROOT}"/lib*/l*-*.so) ]]
  102
+	then
  103
+		ebegin "Scanning system for __guard to see if you need to rebuild first ..."
  104
+		local files=$(
  105
+			scanelf -qys__guard -F'#s%F' \
  106
+				"${ROOT}"/*bin/ \
  107
+				"${ROOT}"/lib* \
  108
+				"${ROOT}"/usr/*bin/ \
  109
+				"${ROOT}"/usr/lib* | \
  110
+				egrep -v \
  111
+					-e "^${ROOT}/lib.*/(libc|ld)-2.*.so$" \
  112
+					-e "^${ROOT}/sbin/(ldconfig|sln)$"
  113
+		)
  114
+		[[ -z ${files} ]]
  115
+		if ! eend $? ; then
  116
+			eerror "Your system still has old SSP __guard symbols.  You need to"
  117
+			eerror "rebuild all the packages that provide these files first:"
  118
+			eerror "${files}"
  119
+			die "old __guard detected"
  120
+		fi
  121
+	fi
  122
+}
222  sys-libs/glibc/files/eblits-2.15/src_compile.eblit
... ...
@@ -0,0 +1,222 @@
  1
+# Copyright 1999-2012 Gentoo Foundation
  2
+# Distributed under the terms of the GNU General Public License v2
  3
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_compile.eblit,v 1.28 2012/07/03 20:07:34 vapier Exp $
  4
+
  5
+glibc_do_configure() {
  6
+	local myconf
  7
+
  8
+	einfo "Configuring GLIBC for $1"
  9
+
  10
+	# set addons
  11
+	pushd "${S}" > /dev/null
  12
+	local ADDONS=$(echo */configure | sed \
  13
+		-e 's:/configure::g' \
  14
+		-e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \
  15
+		-e 's: \+$::' \
  16
+		-e 's! !,!g' \
  17
+		-e 's!^!,!' \
  18
+		-e '/^,\*$/d')
  19
+	[[ -d ports ]] && ADDONS="${ADDONS},ports"
  20
+	popd > /dev/null
  21
+
  22
+	myconf="${myconf} $(use_enable hardened stackguard-randomization)"
  23
+	if has_version '<sys-libs/glibc-2.13' ; then
  24
+		myconf="${myconf} --enable-old-ssp-compat"
  25
+	fi
  26
+
  27
+	[[ ${CTARGET//_/-} == *-softfloat-* ]] && myconf="${myconf} --without-fp"
  28
+
  29
+	if [[ $1 == "linuxthreads" ]] ; then
  30
+		if want_tls ; then
  31
+			myconf="${myconf} --with-tls"
  32
+
  33
+			if ! want__thread || use glibc-compat20 || [[ ${LT_KER_VER} == 2.[02].* ]] ; then
  34
+				myconf="${myconf} --without-__thread"
  35
+			else
  36
+				myconf="${myconf} --with-__thread"
  37
+			fi
  38
+		else
  39
+			myconf="${myconf} --without-tls --without-__thread"
  40
+		fi
  41
+
  42
+		myconf="${myconf} --disable-sanity-checks"
  43
+		myconf="${myconf} --enable-add-ons=linuxthreads${ADDONS}"
  44
+		myconf="${myconf} --enable-kernel=${LT_KER_VER}"
  45
+	elif [[ $1 == "nptl" ]] ; then
  46
+		myconf="${myconf} --enable-add-ons=nptl${ADDONS}"
  47
+		myconf="${myconf} --enable-kernel=${NPTL_KERN_VER}"
  48
+	else
  49
+		die "invalid pthread option"
  50
+	fi
  51
+
  52
+	# Since SELinux support is only required for nscd, only enable it if:
  53
+	# 1. USE selinux
  54
+	# 2. only for the primary ABI on multilib systems
  55
+	# 3. Not a crosscompile
  56
+	if ! is_crosscompile && use selinux ; then
  57
+		if use multilib || has_multilib_profile ; then
  58
+			if is_final_abi ; then
  59
+				myconf="${myconf} --with-selinux"
  60
+			else
  61
+				myconf="${myconf} --without-selinux"
  62
+			fi
  63
+		else
  64
+			myconf="${myconf} --with-selinux"
  65
+		fi
  66
+	else
  67
+		myconf="${myconf} --without-selinux"
  68
+	fi
  69
+
  70
+	myconf="${myconf}
  71
+		--without-cvs
  72
+		--enable-bind-now
  73
+		--build=${CBUILD_OPT:-${CBUILD}}
  74
+		--host=${CTARGET_OPT:-${CTARGET}}
  75
+		$(use_enable profile)
  76
+		$(use_with gd)
  77
+		--with-headers=$(alt_build_headers)
  78
+		--prefix=/usr
  79
+		--libdir=/usr/$(get_libdir)
  80
+		--mandir=/usr/share/man
  81
+		--infodir=/usr/share/info
  82
+		--libexecdir=/usr/$(get_libdir)/misc/glibc
  83
+		$(use_multiarch || echo --disable-multi-arch)
  84
+		--enable-obsolete-rpc
  85
+		$(in_iuse systemtap && use_enable systemtap)
  86
+		${EXTRA_ECONF}"
  87
+
  88
+	# There is no configure option for this and we need to export it
  89
+	# since the glibc build will re-run configure on itself
  90
+	export libc_cv_slibdir=/$(get_libdir)
  91
+
  92
+	# We take care of patching our binutils to use both hash styles,
  93
+	# and many people like to force gnu hash style only, so disable
  94
+	# this overriding check.  #347761
  95
+	export libc_cv_hashstyle=no
  96
+
  97
+	local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-$1
  98
+	mkdir -p "${GBUILDDIR}"
  99
+	cd "${GBUILDDIR}"
  100
+	echo "${S}"/configure ${myconf}
  101
+	"${S}"/configure ${myconf} || die "failed to configure glibc"
  102
+
  103
+	# ia64 static cross-compilers are a pita in so much that they
  104
+	# can't produce static ELFs (as the libgcc.a is broken).  so
  105
+	# disable building of the programs for those targets if it
  106
+	# doesn't work.
  107
+	# XXX: We could turn this into a compiler test, but ia64 is
  108
+	# the only one that matters, so this should be fine for now.
  109
+	if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
  110
+		sed -i '1i+link-static = touch $@' config.make
  111
+	fi
  112
+}
  113
+
  114
+toolchain-glibc_src_compile() {
  115
+	echo
  116
+	local v
  117
+	for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC {AS,C,CPP,CXX,LD}FLAGS ; do
  118
+		einfo " $(printf '%15s' ${v}:)   ${!v}"
  119
+	done
  120
+	export CC=$(tc-getCC ${CTARGET})
  121
+	einfo " $(printf '%15s' 'Manual CC:')   ${CC}"
  122
+	echo
  123
+
  124
+	if want_linuxthreads ; then
  125
+		glibc_do_configure linuxthreads
  126
+		emake || die "make for ${ABI} failed"
  127
+	fi
  128
+	if want_nptl ; then
  129
+		# ... and then do the optional nptl build
  130
+		unset LD_ASSUME_KERNEL
  131
+		glibc_do_configure nptl
  132
+		emake || die "make for ${ABI} failed"
  133
+	fi
  134
+}
  135
+
  136
+toolchain-glibc_headers_compile() {
  137
+	local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-headers
  138
+	mkdir -p "${GBUILDDIR}"
  139
+	cd "${GBUILDDIR}"
  140
+
  141
+	# if we don't have a compiler yet, we cant really test it now ...
  142
+	# hopefully they don't affect header geneation, so let's hope for
  143
+	# the best here ...
  144
+	export \
  145
+		ac_cv_header_cpuid_h=yes \
  146
+		libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{32,64},sh,x86_64}_tls=yes \
  147
+		libc_cv_asm_cfi_directives=yes \
  148
+		libc_cv_broken_visibility_attribute=no \
  149
+		libc_cv_gcc___thread=yes \
  150
+		libc_cv_mlong_double_128=yes \
  151
+		libc_cv_mlong_double_128ibm=yes \
  152
+		libc_cv_ppc_machine=yes \
  153
+		libc_cv_ppc_rel16=yes \
  154
+		libc_cv_visibility_attribute=yes \
  155
+		libc_cv_z_combreloc=yes \
  156
+		libc_cv_z_execstack=yes \
  157
+		libc_cv_z_initfirst=yes \
  158
+		libc_cv_z_nodelete=yes \
  159
+		libc_cv_z_nodlopen=yes \
  160
+		libc_cv_z_relro=yes
  161
+
  162
+	# Pick out the correct location for build headers
  163
+	local ports="" myconf="--disable-sanity-checks --enable-hacker-mode"
  164
+	[[ -d ${S}/ports ]] && ports=",ports"
  165
+	myconf="${myconf}
  166
+		--enable-add-ons=nptl${ports}
  167
+		--without-cvs
  168
+		--enable-bind-now
  169
+		--build=${CBUILD_OPT:-${CBUILD}}
  170
+		--host=${CTARGET_OPT:-${CTARGET}}
  171
+		--with-headers=$(alt_build_headers)
  172
+		--prefix=/usr
  173
+		${EXTRA_ECONF}"
  174
+
  175
+	# Nothing is compiled here which would affect the headers for the target.
  176
+	# so forcing CC/CFLAGS is sane.  unless you dont have `gcc`.  then i
  177
+	# dont care :p.
  178
+	echo "${S}"/configure ${myconf}
  179
+	CC=gcc \
  180
+	CFLAGS="-O1 -pipe" \
  181
+	CPPFLAGS="-U_FORTIFY_SOURCE" \
  182
+	LDFLAGS="" \
  183
+	"${S}"/configure ${myconf} || die "failed to configure glibc"
  184
+}
  185
+
  186
+eblit-glibc-src_compile() {
  187
+	if is_crosscompile ; then
  188
+		export \
  189
+			libc_cv_c_cleanup=yes \
  190
+			libc_cv_forced_unwind=yes
  191
+	fi
  192
+
  193
+	if just_headers ; then
  194
+		export ABI=default
  195
+		toolchain-glibc_headers_compile
  196
+		return
  197
+	fi
  198
+
  199
+	setup_env
  200
+
  201
+	if [[ -z ${OABI} ]] ; then
  202
+		local abilist=""
  203
+		if has_multilib_profile ; then
  204
+			abilist=$(get_install_abis)
  205
+		elif is_crosscompile || tc-is-cross-compiler ; then
  206
+			abilist=${DEFAULT_ABI}
  207
+		fi
  208
+		einfo "Building glibc for ABIs: ${abilist}"
  209
+		if [[ -n ${abilist} ]] ; then
  210
+			OABI=${ABI}
  211
+			for ABI in ${abilist} ; do
  212
+				export ABI
  213
+				src_compile
  214
+			done
  215
+			ABI=${OABI}
  216
+			unset OABI
  217
+			return 0
  218
+		fi
  219
+	fi
  220
+
  221
+	toolchain-glibc_src_compile
  222
+}
232  sys-libs/glibc/files/eblits-2.15/src_install.eblit
... ...
@@ -0,0 +1,232 @@
  1
+# Copyright 1999-2012 Gentoo Foundation
  2
+# Distributed under the terms of the GNU General Public License v2
  3
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit,v 1.22 2012/07/03 20:07:34 vapier Exp $
  4
+
  5
+toolchain-glibc_src_install() {
  6
+	local GBUILDDIR
  7
+	if want_linuxthreads ; then
  8
+		GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-linuxthreads
  9
+	else
  10
+		GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-nptl
  11
+	fi
  12
+
  13
+	local install_root="${D}$(alt_prefix)"
  14
+	if want_linuxthreads ; then
  15
+		cd "${WORKDIR}"/build-${ABI}-${CTARGET}-linuxthreads
  16
+		einfo "Installing GLIBC ${ABI} with linuxthreads ..."
  17
+	else
  18
+		cd "${WORKDIR}"/build-${ABI}-${CTARGET}-nptl
  19
+		einfo "Installing GLIBC ${ABI} with NPTL ..."
  20
+	fi
  21
+	emake install_root="${install_root}" install || die
  22
+
  23
+	if want_linuxthreads && want_nptl ; then
  24
+		einfo "Installing NPTL to $(alt_libdir)/tls/..."
  25
+		cd "${WORKDIR}"/build-${ABI}-${CTARGET}-nptl
  26
+		dodir $(alt_libdir)/tls $(alt_usrlibdir)/nptl
  27
+
  28
+		local l src_lib
  29
+		for l in libc libm librt libpthread libthread_db ; do
  30
+			# take care of shared lib first ...
  31
+			l=${l}.so
  32
+			if [[ -e ${l} ]] ; then
  33
+				src_lib=${l}
  34
+			else
  35
+				src_lib=$(eval echo */${l})
  36
+			fi
  37
+			cp -a ${src_lib} "${D}"$(alt_libdir)/tls/${l} || die "copying nptl ${l}"
  38
+			fperms a+rx $(alt_libdir)/tls/${l}
  39
+			dosym ${l} $(alt_libdir)/tls/$(scanelf -qSF'%S#F' ${src_lib})
  40
+
  41
+			# then grab the linker script or the symlink ...
  42
+			if [[ -L ${D}$(alt_usrlibdir)/${l} ]] ; then
  43
+				dosym $(alt_libdir)/tls/${l} $(alt_usrlibdir)/nptl/${l}
  44
+			else
  45
+				sed \
  46
+					-e "s:/${l}:/tls/${l}:g" \
  47
+					-e "s:/${l/%.so/_nonshared.a}:/nptl/${l/%.so/_nonshared.a}:g" \
  48
+					"${D}"$(alt_usrlibdir)/${l} > "${D}"$(alt_usrlibdir)/nptl/${l}
  49
+			fi
  50
+
  51
+			# then grab the static lib ...
  52
+			src_lib=${src_lib/%.so/.a}
  53
+			[[ ! -e ${src_lib} ]] && src_lib=${src_lib/%.a/_pic.a}
  54
+			cp -a ${src_lib} "${D}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}"
  55
+			src_lib=${src_lib/%.a/_nonshared.a}
  56
+			if [[ -e ${src_lib} ]] ; then
  57
+				cp -a ${src_lib} "${D}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}"
  58
+			fi
  59