diff options
author | Mike Frysinger <vapier@gentoo.org> | 2014-09-10 05:49:06 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-09-10 05:49:06 +0000 |
commit | 3b230c223ebdb661914c80023bb0212e63f0d29c (patch) | |
tree | 0087f0fa78caa01e8b3cad9581493ed7dc542cd7 /sys-libs | |
parent | Version bump. (diff) | |
download | historical-3b230c223ebdb661914c80023bb0212e63f0d29c.tar.gz historical-3b230c223ebdb661914c80023bb0212e63f0d29c.tar.bz2 historical-3b230c223ebdb661914c80023bb0212e63f0d29c.zip |
Version bump.
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Manifest-Sign-Key: 0xD2E96200
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 10 | ||||
-rw-r--r-- | sys-libs/glibc/Manifest | 37 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c | 299 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c | 2 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_compile.eblit | 12 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.20.ebuild | 187 | ||||
-rw-r--r-- | sys-libs/glibc/metadata.xml | 1 |
7 files changed, 526 insertions, 22 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 7eccab858b6b..328938c9430f 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-libs/glibc # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.1013 2014/09/10 05:43:00 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.1014 2014/09/10 05:49:03 vapier Exp $ + +*glibc-2.20 (10 Sep 2014) + + 10 Sep 2014; Mike Frysinger <vapier@gentoo.org> + +files/2.20/glibc-2.20-gentoo-chk_fail.c, + +files/2.20/glibc-2.20-gentoo-stack_chk_fail.c, +glibc-2.20.ebuild, + files/eblits/src_compile.eblit, metadata.xml: + Version bump. 10 Sep 2014; Mike Frysinger <vapier@gentoo.org> glibc-2.19-r1.ebuild: Mark sparc stable. diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index ac0242d520d9..135dd6ed9c86 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -13,6 +13,8 @@ AUX 2.18/glibc-2.18-gentoo-chk_fail.c 9384 SHA256 e6ed60f4e0d262aaaffac2b84fd2fc AUX 2.18/glibc-2.18-gentoo-stack_chk_fail.c 9599 SHA256 039a6249236c60bb909e67339fd7ef6eefd1f4bb71b8cd39f4fe04530c536315 SHA512 97acbdb8aa87dd7e197a1577bd053374b1c8c30d6c82f4a71ef04409bf87b36a60322237cb79896ebdb49960fcaae4c4f2333497f5c255f67717b01d6d62c2d5 WHIRLPOOL 40ed26d3a251a6f4de125a588bafb911b7ba4867f5139142c00a2bc2f2616658a45cff144d2629bdf33cadece020ed6a1bd7a74047da812821cdb6d3e8253f40 AUX 2.18/glibc-2.18-hardened-inittls-nosysenter.patch 8981 SHA256 3fcdef34164b7fa6e493e081d32427017d239236aa4e183e3a470fe49a028eb7 SHA512 98feb8f12dc5d2bb030ec7c6c77f3f9389ebc208fafc96496f316e577457dd991294d59735b013b17e1d10d5c7b63471d5b857d2334be78239a8ceb1ad62b1fc WHIRLPOOL 52ac2452fe3f9ec6ac3f4635cf017d1347eda6b950f25ecee6ef1b444de97fad5a1792432e0c783375fc7d07c80b4cd77e48a6d6051aec3933696e2f17fcec18 AUX 2.19/glibc-2.19-hardened-configure-picdefault.patch 865 SHA256 feeb2ddc276e90f55d2fd358837e8d4922d3b2875cb8080b1d8e27e5da83a2d9 SHA512 d8e6fea72e240f1fde8a487958463140a84e8bd6bb5b176f8ce84a34df3137943db9016300884f3efdd4da130e342448e57ed0c0dc6eb2956d647286ce1d00ce WHIRLPOOL 3a5d2882b5fc1bea78c45409c848c94a260659e3ea1e28a5dc8818de8825e55453aa1cc97b86eef99c91b17bde9f2a6db1fd8ae03839f7029d93a71feaa4d4d0 +AUX 2.20/glibc-2.20-gentoo-chk_fail.c 8978 SHA256 f9cc426b0fb21de1dc11bb36e43bca8e1b3114fe78f8b343f672a951a82c742e SHA512 5cb529ac9d18a315f25fd48a3a80a529924bee0588074c97e6df7dbe8568a67f786363c41da6300ea55818369e3609ed4315b2e2104f8a8b4f1266ba43076eda WHIRLPOOL 2d38c19a20226fc4687037b8bb19025065f039ddaa62466879ca98765c8899e64b147dd148565304419ed1a98fbe1f8403710b22c930b08a19bddba7e79b0f1d +AUX 2.20/glibc-2.20-gentoo-stack_chk_fail.c 55 SHA256 ec73e74297b5eade591bfb3a2999989e2a7aa80752140048ffa67349635f05e7 SHA512 4dfec1bd17007b826110dcb73d09331a58b7a892c87de55b94480b14c28686442c567725b610082813411cf9911e180835a400a54ea704fe80f81cfba966a989 WHIRLPOOL b2b338a50f7895c530a71a19e4582bd0116a0b9d13b2e1505f0566924557493849f93cefb2c0ad1719ef684321e145129e0f72cfc9aa85a44ea7ebf910e7304c AUX 2.3.3/glibc-2.3.3-localedef-fix-trampoline.patch 2329 SHA256 b5cf51d1ff5479d09fbc82992f126ca4969006c90c3a2ae94ad586d4902d791b SHA512 939ec7da977837ef46aa8894f99ac06b3fccfc36dd672889b85ae8cbbfc9a963c5d0c031d776aa2feee29ddf8341b4cc7a50ea19b7c6f7e80df74eef5f1fd977 WHIRLPOOL 47d248ddba815a517aed9b7dbfa247bdedf293cb5adad8079be803ea4a682136f01b47fd3817a1696b3758c4631d1a25376bf58ef039998ace4a6b65807fe75e AUX 2.5/glibc-2.5-gentoo-stack_chk_fail.c 9058 SHA256 067fba2a36d2630d50198c44395ef208cdf080508f1b716bd3d079f7b964e2df SHA512 2d404bec1e009d111b775fde620102b3d0ea7614d07ba31350940f2693e937e825acc43d1ab94bad2eecac61d47c696098327096dff8f08b4b7312d0873d71a6 WHIRLPOOL bb27ef90afb256d3822787b93574d4f4f5632995663e08b7201db17a4f38f6e2a8fd6368aaf699a808cd8f7acc346625b5607dcbf1e88f8b28dcc6d3dba92399 AUX 2.5/glibc-2.5-hardened-configure-picdefault.patch 794 SHA256 0c0359f567e4ad2d3184618bf6ac7e6102b703eab6227c7e9a4ff4dcdeed2c91 SHA512 99caace6c3528db400f8039c3f5aa65a2d5088d9758894c8a49df2b5045226a4056972de2d162411617162edd9023b6c6f80d85509638b5d68a8d0cda40adafe WHIRLPOOL 1271cea2155149e789f1242759e516443c5cf152ae9612d91d2a25a727952684eb043fbcfb38186a31fc6a1568201de5ef40af45436b137453e0582f2f6facde @@ -25,7 +27,7 @@ AUX eblits/common.eblit 10280 SHA256 2294af7912518f2a28229a3baaac0c2faaf0577d408 AUX eblits/pkg_postinst.eblit 1081 SHA256 21c349d6999841b277dd00ed6f2bf4b33d14724510da3c15a99e775cb71bd180 SHA512 b491761a0923b779535b4a5abf6e00efb6f2c0bbb68e7fb01b2cad54034b63ddfa271afce16b17b17b53ac809ed869c55f94c44443d661052779770f4302318b WHIRLPOOL 8e3a3f35a4cefa903bc578d2fb6b22506f3ac94939f9ad1e703f470b13ba0fd3353061e38e3142ecb5c693749c84d4a1e4f4a5920e36ce20dc2f7e3b6b67ed9f AUX eblits/pkg_preinst.eblit 2608 SHA256 e49f274efe309b4bfed88195d413afa3363f40fb6c2caf50b4ab8ce5ab548864 SHA512 debfe0679d51eff7a154f7772179cf6bfe01beacf63fe101370c172e71b0524da0ceb7b0571e69a8050e5b75953b1d4c8968e1982ff4bc7362caeedde0be595e WHIRLPOOL 7b5c69c319651d860b3495d658b7275308f69504050699aada21ce5ecdd3114c1ea50ee7eac4436ee33738d02a0eb4bc6fff41484ff840aa2400bdd484ae3e93 AUX eblits/pkg_setup.eblit 3953 SHA256 b062a64b9206da83f36260e6f99d812014c826df06d339b32ac5f6975986c6ef SHA512 c4dd7e73c335bba90d2c3788f4a9b35e0ff0e9cb1ab91a2ccf72fba9fc466b72fcd3e21e6f2e2c0b479a6dd55770824160a7e0288a84e7282d7d9241c087eccd WHIRLPOOL 7c1379d190de749871fef339b3eb8789b82e65a417e90bb04075ae34d0c999c5516918a3894782b3bc632ef2b772b206aad61afb18222cc438c13fa4c263d75f -AUX eblits/src_compile.eblit 7575 SHA256 7646d0d0d1d27ab0e1c58352c5a4296d307e84e420166f6e037ed8efd740db66 SHA512 c14fa6696b05bdc69d298c5aaf34442a914c368b36bb2261b31d27f8762d98155fe08be00b2c9f40928dfeaabbaf8460ab427aaf83b6dda9b99da9d60a5b7a5e WHIRLPOOL 74ae31aea3fb064a5f3e4779cf83874b5111e0daab9d531c93d645eb8be28b499f6be1ff9b208248418f1ec32806cf187970474981c632f8e4e15e30cdfbec1a +AUX eblits/src_compile.eblit 7657 SHA256 0ed1af63927af25530b1a596a77995167b3119cf04e4d8586613561bf8bfbea9 SHA512 ccd3d0ddc04b6b9145821c99e2cc594dc90e295059408aa61e86298d207eb1647eb9ab9a40139f0fd481b560e6ff3e3f52f4e26962ea3752f7b1372cfbd69b45 WHIRLPOOL 138962dbb505985a9a6eaa61e7ad0df915edd46a3eb4f46a51a22a57973fe2b5810a27367a957a4c1d10678c37e3ba3813f109c42ccfe420389dd804f7eb5f07 AUX eblits/src_install.eblit 8681 SHA256 278c35396d4fde96305e79cb8e8c6f46c45570b2649a4be535f76222b00b4b54 SHA512 9a159b3cfd91c95471e14559252306b8b59e25a8c3571f2835e9b83ffa05d39698e6c24027b9a0f5fc942ad420bc2cfd6495f63eccd3fa7b450f183c979eafd9 WHIRLPOOL 764955f64d16dbd3fdc20ddcc4c622c1c72b3ad96a94102990da61a095727ee28a3a0f7764c0ec0ea111da2a13ba471c4d50b21deb5e57356dd22425c0842281 AUX eblits/src_test.eblit 1254 SHA256 d487b91ce19218829590ae9776420f8172f4cd0efd01ee0e19be3f744170dbc6 SHA512 6d889366b57b001472fb4c595bc7e4416ee30fdd58a20bbdc88edb63ceb0b79cce8db1bb9a54c6c14f6fc0711bcf20bec91d84706fff08892fff2ccdcb870854 WHIRLPOOL 73731e13688ba0573b72a562244b5ec95cdbff11e41a0b0810d6d70fdbfa06e18e9b7d5facb5f03c435da96c3216645df071d994a07522f357cf0465819a903a AUX eblits/src_unpack.eblit 5190 SHA256 e050bbd6e99f001fe518babe2ed70149a0be713f230e32823d1be03d718af9d5 SHA512 0a4961be52ebd4f5a88a2460085e6e98a13a19a85c344bba40a411b9c281fef58e635eca854a7d76bea5c6a9e07efb94e41603b46034f7a8c59e4807d0278956 WHIRLPOOL 9177c9f51cae2e21df5888cc694b3b65faac0c31dea1b0d2184368838ff929710dae1e3bad5834229c634659e2aab2bd59b08de8588807a2b5405641c35d5eff @@ -63,6 +65,8 @@ DIST glibc-2.18.tar.xz 11150148 SHA256 2cb4e1e381928f1e5e55e71ab1ba8e0ea7ede75ff DIST glibc-2.19-patches-1.tar.bz2 75062 SHA256 0f4a9be17a659be02079d4e3bbbe04d3cecbe6ab19b2106edb81a83b743b9b22 SHA512 c884235676ad0b7c77ec1db5bc2406b79cb4f9fb341770fe3871292acca10972f46716f9e4a192368d937b24b594229cc45c23607767071807e4df4f3ed7fca3 WHIRLPOOL 53e6181c061365c8b6b3d3b4b355993e6a7e7fb2b1ad80d5463a30edadaed6848eb2e5656090998c82ed75625eaf30e69a2750019f47358ff08c99ffc36ffd08 DIST glibc-2.19-patches-3.tar.bz2 80664 SHA256 6fb03292e224199e0dd9ba7ee83aca723e1560f26831e85cdc6302b187c6de3c SHA512 d281d6a2757920124cf8a3f02b97e75192598b08d96ae48840df34c7ffdcb212952d171f233e6f12a429b19437d0a296212fe1f2eae164d6a1c6793cb3cb69f0 WHIRLPOOL 6f28a2d0dff42e8ad0e77859938e3093753f77f78821375777eebb2db5568bf1c56e8b8208f02280f23acb2dd26dc8a313fedd5b2c10755f1659e6d324a1dbc3 DIST glibc-2.19.tar.xz 12083312 SHA256 2d3997f588401ea095a0b27227b1d50cdfdd416236f6567b564549d3b46ea2a2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d WHIRLPOOL 9581a3a23ebdd56bc559b56b95b7bcd21ca039546ec19c6c0e4e0738597542164fdb21ab1d1f36d5e73a205fb51f0974c7d497972615bce69ae002298f6475b6 +DIST glibc-2.20-patches-1.tar.bz2 78477 SHA256 b3b1c4022503dc433cc4969534f27ee019ab695aed8b722e914d7fb864db5606 SHA512 56e954f11610fa4f9fffc68bdad98114bed7592f5a4f8bd81a0306ee99311db8cb4dd4469a6f2a5a60ff4a9e6d172e49971d389f1b2911df7a408571737c1ee1 WHIRLPOOL 02aeda854ca220ed3b4fe41510d918a8fc4fb9e95a3761a3884e2d2d3c0a515c82e835d7a74e41dc0a20c865de120b60ea4e561cd3f25534568981c8084dce00 +DIST glibc-2.20.tar.xz 12283992 SHA256 f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa WHIRLPOOL 042f74d75c62a655ae35348c9cd0bed0845ab199e37a76635eb74c04ed927b5eca77723c38d2dc46f12fca62c1004001887b43946a914b079ad22f6a9cc8daaa DIST glibc-2.9-20081201.tar.bz2 16430489 SHA256 6f8e515775e20ed48610860d10315adda418a3649b3465f36ee5cd467364a8f6 SHA512 bdd3f5b61f741f09da21020ceef95e8e4f22574d11f8f2341f573ab2225baaf68698446ec26cbc4a63a21a8a400eaf5820fce4bd89c3e1dcf52172a62df561f4 WHIRLPOOL 37e4875e450e8a4067f657b4d71be184844cd45c0d7dbd9242e8f998aab4e15c732fc64ba148c5782078873182d4b132c911da9242b0513eea96a2338aa04722 DIST glibc-2.9-patches-8.tar.bz2 106638 SHA256 5f1f8b569ac02c2f538bebd64d137bccb442ddfcb28b3ef17b86134edd8e3f6c SHA512 f5070bf45c28bcf455f53bee85414e6efa1da3cdbc51425a1bc67fb92ff793d1416d5743a48e69080e636d80e41463c5897d437190d496c0b34f7dcf158e8d9c WHIRLPOOL f15b98a7bd6a8cbfaa9c6e1ad7204de875876bf1640c2a008532537cf65b811b42c45446dba846f6e572e9d763cb6afbe878920a51f772c7367cc7a6f615f4b7 DIST glibc-2.9-ports-20081201.tar.bz2 487663 SHA256 19bb6e89855171d7ae01aef92054dfe4524521fbc13c67bfaa3ee81944210744 SHA512 8bc400fe1f8213908c96fa8c1060a360c4ed83fdb21ba6ffb7b6dc0232216ea23217d0c165336603a8969cca89e8b3edc7d32a38516f2c27114368682d06e6b6 WHIRLPOOL 917d6b77a3d999cb7eca7c9b8bb8d6838a109c609ef8bd3aabb3afa04755c142e4dde352c5c62561a8b39581295eb48b23192b52d1d9f1916454c4cf39db702d @@ -92,25 +96,26 @@ EBUILD glibc-2.17.ebuild 6958 SHA256 3cb1baca3b8469757ee4c5cdb6b6aef07e19a6041ff EBUILD glibc-2.18-r1.ebuild 7021 SHA256 308a57802e31f6ec4a2ab6be491bcf679707a6a7c479b07dc754ec5eb448ab2b SHA512 8aaf3908bb7db5d315efdb01fa90eb4c783ef91e3efbb6ea006308aa4fb21669be76320d5428130816ada222fca5bea3e16882eb231a16640c55456834a53b97 WHIRLPOOL d00f4bb51366cee03c9007b8072c1dbeb5a7002158f43517a8242b07cd82058c053a3061a0affc1fb4c129f457c90e81af78b2ceb87fc8942e7d67bc264e140a EBUILD glibc-2.19-r1.ebuild 6904 SHA256 ec3f7923513410cab8a32a571c3c9de727de228b8ec099b74463098eb6f0faab SHA512 0453ced706f0feda8f87301534831e043629b3d0b2e27972dc4cff610f91958278cfa1830562978e4bf0050b64d7caab8038abb5611b11e98ab25381a0b601e9 WHIRLPOOL 016d35425a8e125e1a0265d11c136549727e919247ef59b80bfc6529506e31b9e9f8ea325bb4921129d83ed7b522e58bbad3a634decb788b83d088b370d4f7a6 EBUILD glibc-2.19.ebuild 6912 SHA256 3a11e60bed77cc2dad678ad97ed7a959a59a91a94ca28fd4d7d8776a6217a00f SHA512 70c9b91f224c276783b96ae60f57ac48886861fda71be6e6e292840b4c8cc0fea798005c26c6c33f198c63fb2c38bf78e994821dfa010086ba7ece443257b851 WHIRLPOOL 98be39cc52c7d8431e46f24f9552db63980f4a38c8e12aaffd4b08c7c66f8931a16fd7deb99e43a5bb330a42e6c1e722a9a8f74d1fe97523d7b4bfe75c9accf5 +EBUILD glibc-2.20.ebuild 6154 SHA256 7dea0ee804ebe1a6268155c519b85b9f265a964d570f68490a3035467f928f98 SHA512 11a594c74fec00b919ec98ece7d82ef8404280913b2f3047c0076c822234f99f8a9e67cdf1384ee4b52bcc25a381bf5706a85204adda90b0d914035db4338865 WHIRLPOOL 5f2cb7a927f6d317fe4cec4482a56b95c1464e6f46e810c9c5c02b06fc10aa51a3c2cec217bf6c339f18b7e30c296b72d8ab7fa85570bbe8bd49aec16b6b5720 EBUILD glibc-2.9_p20081201-r3.ebuild 6787 SHA256 3d9ff2b86df088b8e8cc082c5ddef164b48cffcccfa2ea001306e79a6d52a52c SHA512 7070020105a777bbf6d846fab291b238d7861472c737031e8c52b6d5c2a0524e228b724751325448ce94a42ee39112088b91d0597cd2cdbcc68c51248d2d5a11 WHIRLPOOL aa0e2d11377c3a30478afbef0fa3daa12aa9711d68dc92ab08fca999e599c613648644da2e6f81c38dc98192ed26934c4a35418a97d3146650cd4c82e39a7fed EBUILD glibc-9999.ebuild 6839 SHA256 3d51b4a03932748b6716fdb1c63f6c083651f3d1bae585c989adf0c106c86d58 SHA512 14339b49e597d744e488ccecb17eef69ee22f2a49cf69a280377816cde522e56abf690c487a9cdcb396ef8084b165dd716956c02ee16bea45f39a0875ef2ffcd WHIRLPOOL f52e905e4f29d7d3e9da861028eae695160d1aff250060748e5ee5da2eb4b39a895ddf0a5fa3995f844631cc89f114e58ff9ac603b4c76f6bc36ed6855f037cd -MISC ChangeLog 69265 SHA256 9a6ba2925116fe05f92c1b7c91218d4f98280dd7ae29f4421c31b7808774acac SHA512 c29936db90067a9565dcc21753c522254638590984aa7d1422cb2c896baba3476b29575d34321e88a6277ee8a74b903813100dc5256dd98bd391d96112ab0837 WHIRLPOOL 28cea68f35d74066b712a1c231abb3eae9ecf48212fc4e67fa0926fd206cf0fe8d6b674fda43bb26595cd04e527becff30254f2fc31f8d829e076e0ec09d5ff2 +MISC ChangeLog 69521 SHA256 35fc40e980724507a4a3cd4041818ee489897a61d5929e1ead773ff3c7090ff0 SHA512 b367218855ada0f6b8b4197e55fdf62edfb6cefaee16823a8203311978ba05b07fbb30f3fdbe768dfd0d3c7cfe89aea94f7f7d9d88a42152e42d0d585fb72a0b WHIRLPOOL 7b75a54d8802636f021662e5c3c1c6c0125949e737c63e9a26ebd00d7b57a75bc9025e3c32d27f4f5115582e6b855af00c1b59fe2b312865882f1ad9230ac3d7 MISC ChangeLog-2007 108548 SHA256 d622be202eb0d61a363b0ae4065012cd1d494fefaa0c03d4aa7986177cdde6d0 SHA512 fdb3f311a3be4b97a6acfceb1763af5ea69e74d8195522c5d03307f75e15a9382991e9e29dbfdec79e74f1c36328f82648768749bc929e5050ff64b628c7ca98 WHIRLPOOL e550f354394569069e000a7e70ec69c94388a0f415c19b427203f0dcbcbeeec0f5e379ee2af7886cd2d68559e749fab8122e7e077985729d7e0e728ae9096d7a -MISC metadata.xml 596 SHA256 b01caf6893890849a5aef5350b9b8528edb49554ea35b689ae778d475d4a84be SHA512 2ea5bd979d036f6844df11b8e1ee8bd90b61cf66fccf988a5a53e8777710b9e7aa137cf79c8e2f840986805220d1c19ac2b1c83778a5b1bb2b0976b2354768f4 WHIRLPOOL 6cadab521e9b1ef68f9b5f827fcd123e13a58291dd6a958b17193d9e6ac44aae4f73d09f4b1dbc4a9b81612073da6361e50bb1ba9733418ce008f6191e5a0f39 +MISC metadata.xml 724 SHA256 b9d8df62b36ae314b29a3177c534495036ef97a819c152247383e907004fe4dc SHA512 8c215338bbf47de95f40f9f24c50d107ec0bbe4a47282d3cbc253d4003db85a88c542aee33756dd9d2d2ec4c70992009261d821a8c145c24c24d2ad448595b77 WHIRLPOOL 954f5d080c7219ffe85e128eddd05c74a32a457219d423441bb58d54a7de1786da6a2efb541861b3bfc93a9acf2ae6f79168d1ccc37385f84af0eb439fff2954 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAEBCAAGBQJUD+TsAAoJEPGu1DbS6WIAnZEP/j2UchkNDgquRJM5+vo0576/ -8CprLHhVehYd8912o21M7/XCFRhb3svl3OtjB4nIdNDVOdUpBkC7uZGiQWHGx95F -lIpupOenItBWp6hakN375nV5hXSsYIFCUuLcV83cAXAANmLp/6y7OEiAQcjhQ2D4 -RdkK174lKgmBc/C5xS6eUcSezRfMXWf+lDBCCeKHz+5mouqNWQRCYEcxeu7F9Drg -AbL8R9AuBWh/kxBr0UN+4C2EvH4IHDkcAo0ea06gq39fw0mFn5E4SwbIGtjWMxZP -JfAEP0EifiNTQnPHm8mFnlCw2p3xhBDheH9C02OJLCG9EUvw5HXm5zUEQdeOI8ns -x/fi6dKHdn2zNVZ3JjbNVAVP6J+CX+ORvkKNAlFa/YdaoT3YfR7rFnbsC7BiXrQD -/vSZ9Ul46pwzPMYmZjR/yvircOz+U4Hw+MoQOIfXfeCb13yPV2lwNW39+R2tld44 -pY4G3qjkC0xY+0l80TfXWVY6LdCLvcMRBrA3tvUcV2NeTwNev2iXXEUXXj5aELJy -2PBxwFve5SqBDfwjDcRtAItnoQdzGeK8v6DptSidcKkwfKVx8cee5omnsBkpjbc5 -9pXoH1XRpD6RJdd1vDWjQ/GfyQW8XQDPe6yc446dplFGkZma1XE0CF+o9LeK/SN8 -SC+toQdwhwglw7ncL4IP -=iGu0 +iQIcBAEBCAAGBQJUD+ZYAAoJEPGu1DbS6WIAmgkP/1/j7N8QhefZ0zN/SPaeIvue ++QT1sUEH4Lntm/s/suZgi58uZ2jPNfosg/hQcn/ffvX5v9L+SzFnHvfIq/vRnyFs +3Gvz9Lc5DwiBzBAT1vjoByRVxGvmNufECVIvruPj9Ni/pWOcKerZyFJ+mGqn7P66 +N2oWMKRSkb97aizHJhHqnYupvAzxiL24nQUGWsSU1vwGAJkApP7OggS8xqk039hA +wo0m4lrVssziqU44Bl0str5YV8PoAZ6bBtKIbOF2ZyXxSH4WLTlLLZMLoxX+m7QX +yPQzphSS2Hfhy1oxo17jiVWIyLF0uWn5xfcomts/MLCUSTQOe40mMbCHzDqyYDyx +v3ylfKZDvRc5nKK0e+7yGzTYMJVfZKHqHNQTtScK+dIoMWXShyVOMAepNh6hIX27 +wK4okm3bjSGD6VTQXa7Xi8/n1uFLxnBY25utT1zNB/HZNTmB657rVGbzDAXqCA5D +i2HAFGGXHivj4wq1xsUJ/c6tgwukT/gDAXaeEz66ZqhlBCluWUVsalETh4aZCzpo +nFx6LBfXxAVgVGubHGaJf9Yjzu7Ju5nHqMEpPOVZotgXJoSmlSbF5wzCc/8SBy2E +MHKOBQU89SuneFstIeQksAT0bZi3ij5w70Aj39x16+2jwaLAAt4Qg3yX91j0IzB2 +EwFJoyPqwc8b+617V1AD +=5xHD -----END PGP SIGNATURE----- diff --git a/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c b/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c new file mode 100644 index 000000000000..a8ab9d8a3e29 --- /dev/null +++ b/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c @@ -0,0 +1,299 @@ +/* Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Gentoo Foundation Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +/* Hardened Gentoo SSP and FORTIFY handler + + A failure handler that does not use functions from the rest of glibc; + it uses the INTERNAL_SYSCALL methods directly. This helps ensure no + possibility of recursion into the handler. + + Direct all bug reports to http://bugs.gentoo.org/ + + People who have contributed significantly to the evolution of this file: + Ned Ludd - <solar[@]gentoo.org> + Alexander Gabert - <pappy[@]gentoo.org> + The PaX Team - <pageexec[@]freemail.hu> + Peter S. Mazinger - <ps.m[@]gmx.net> + Yoann Vandoorselaere - <yoann[@]prelude-ids.org> + Robert Connolly - <robert[@]linuxfromscratch.org> + Cory Visi <cory[@]visi.name> + Mike Frysinger <vapier[@]gentoo.org> + Magnus Granberg <zorry[@]gentoo.org> + Kevin F. Quinn - <kevquinn[@]gentoo.org> + */ + +#include <errno.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <signal.h> + +#include <sys/types.h> + +#include <sysdep-cancel.h> +#include <sys/syscall.h> + +#include <kernel-features.h> + +#include <alloca.h> +/* from sysdeps */ +#include <socketcall.h> +/* for the stuff in bits/socket.h */ +#include <sys/socket.h> +#include <sys/un.h> + +/* Sanity check on SYSCALL macro names - force compilation + * failure if the names used here do not exist + */ +#if !defined __NR_socketcall && !defined __NR_socket +# error Cannot do syscall socket or socketcall +#endif +#if !defined __NR_socketcall && !defined __NR_connect +# error Cannot do syscall connect or socketcall +#endif +#ifndef __NR_write +# error Cannot do syscall write +#endif +#ifndef __NR_close +# error Cannot do syscall close +#endif +#ifndef __NR_getpid +# error Cannot do syscall getpid +#endif +#ifndef __NR_kill +# error Cannot do syscall kill +#endif +#ifndef __NR_exit +# error Cannot do syscall exit +#endif +#ifdef SSP_SMASH_DUMPS_CORE +# define ENABLE_SSP_SMASH_DUMPS_CORE 1 +# if !defined _KERNEL_NSIG && !defined _NSIG +# error No _NSIG or _KERNEL_NSIG for rt_sigaction +# endif +# if !defined __NR_sigaction && !defined __NR_rt_sigaction +# error Cannot do syscall sigaction or rt_sigaction +# endif +/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size + * of the _kernel_ sigset_t which is not the same as the user sigset_t. + * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for + * some reason. + */ +# ifdef _KERNEL_NSIG +# define _SSP_NSIG _KERNEL_NSIG +# else +# define _SSP_NSIG _NSIG +# endif +#else +# define _SSP_NSIG 0 +# define ENABLE_SSP_SMASH_DUMPS_CORE 0 +#endif + +/* Define DO_SIGACTION - default to newer rt signal interface but + * fallback to old as needed. + */ +#ifdef __NR_rt_sigaction +# define DO_SIGACTION(signum, act, oldact) \ + INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8) +#else +# define DO_SIGACTION(signum, act, oldact) \ + INLINE_SYSCALL(sigaction, 3, signum, act, oldact) +#endif + +/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */ +#if defined(__NR_socket) && defined(__NR_connect) +# define USE_OLD_SOCKETCALL 0 +#else +# define USE_OLD_SOCKETCALL 1 +#endif + +/* stub out the __NR_'s so we can let gcc optimize away dead code */ +#ifndef __NR_socketcall +# define __NR_socketcall 0 +#endif +#ifndef __NR_socket +# define __NR_socket 0 +#endif +#ifndef __NR_connect +# define __NR_connect 0 +#endif +#define DO_SOCKET(result, domain, type, protocol) \ + do { \ + if (USE_OLD_SOCKETCALL) { \ + socketargs[0] = domain; \ + socketargs[1] = type; \ + socketargs[2] = protocol; \ + socketargs[3] = 0; \ + result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \ + } else \ + result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \ + } while (0) +#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \ + do { \ + if (USE_OLD_SOCKETCALL) { \ + socketargs[0] = sockfd; \ + socketargs[1] = (unsigned long int)serv_addr; \ + socketargs[2] = addrlen; \ + socketargs[3] = 0; \ + result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \ + } else \ + result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \ + } while (0) + +#ifndef _PATH_LOG +# define _PATH_LOG "/dev/log" +#endif + +static const char path_log[] = _PATH_LOG; + +/* For building glibc with SSP switched on, define __progname to a + * constant if building for the run-time loader, to avoid pulling + * in more of libc.so into ld.so + */ +#ifdef IS_IN_rtld +static const char *__progname = "<ldso>"; +#else +extern const char *__progname; +#endif + +#ifdef GENTOO_SSP_HANDLER +# define ERROR_MSG "stack smashing" +#else +# define ERROR_MSG "buffer overflow" +#endif + +/* Common handler code, used by chk_fail + * Inlined to ensure no self-references to the handler within itself. + * Data static to avoid putting more than necessary on the stack, + * to aid core debugging. + */ +__attribute__ ((__noreturn__, __always_inline__)) +static inline void +__hardened_gentoo_fail(void) +{ +#define MESSAGE_BUFSIZ 512 + static pid_t pid; + static int plen, i, hlen; + static char message[MESSAGE_BUFSIZ]; + /* <11> is LOG_USER|LOG_ERR. A dummy date for loggers to skip over. */ + static const char msg_header[] = "<11>" __DATE__ " " __TIME__ " glibc-gentoo-hardened-check: "; + static const char msg_ssd[] = "*** " ERROR_MSG " detected ***: "; + static const char msg_terminated[] = " terminated; "; + static const char msg_report[] = "report to " REPORT_BUGS_TO "\n"; + static const char msg_unknown[] = "<unknown>"; + static int log_socket, connect_result; + static struct sockaddr_un sock; + static unsigned long int socketargs[4]; + + /* Build socket address */ + sock.sun_family = AF_UNIX; + i = 0; + while (path_log[i] != '\0' && i < sizeof(sock.sun_path) - 1) { + sock.sun_path[i] = path_log[i]; + ++i; + } + sock.sun_path[i] = '\0'; + + /* Try SOCK_DGRAM connection to syslog */ + connect_result = -1; + DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0); + if (log_socket != -1) + DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); + if (connect_result == -1) { + if (log_socket != -1) + INLINE_SYSCALL(close, 1, log_socket); + /* Try SOCK_STREAM connection to syslog */ + DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0); + if (log_socket != -1) + DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); + } + + /* Build message. Messages are generated both in the old style and new style, + * so that log watchers that are configured for the old-style message continue + * to work. + */ +#define strconcat(str) \ + ({ \ + i = 0; \ + while ((str[i] != '\0') && ((i + plen) < (MESSAGE_BUFSIZ - 1))) { \ + message[plen + i] = str[i]; \ + ++i; \ + } \ + plen += i; \ + }) + + /* Tersely log the failure */ + plen = 0; + strconcat(msg_header); + hlen = plen; + strconcat(msg_ssd); + if (__progname != NULL) + strconcat(__progname); + else + strconcat(msg_unknown); + strconcat(msg_terminated); + strconcat(msg_report); + + /* Write out error message to STDERR, to syslog if open */ + INLINE_SYSCALL(write, 3, STDERR_FILENO, message + hlen, plen - hlen); + if (connect_result != -1) { + INLINE_SYSCALL(write, 3, log_socket, message, plen); + INLINE_SYSCALL(close, 1, log_socket); + } + + /* Time to kill self since we have no idea what is going on */ + pid = INLINE_SYSCALL(getpid, 0); + + if (ENABLE_SSP_SMASH_DUMPS_CORE) { + /* Remove any user-supplied handler for SIGABRT, before using it. */ +#if 0 + /* + * Note: Disabled because some programs catch & process their + * own crashes. We've already enabled this code path which + * means we want to let core dumps happen. + */ + static struct sigaction default_abort_act; + default_abort_act.sa_handler = SIG_DFL; + default_abort_act.sa_sigaction = NULL; + __sigfillset(&default_abort_act.sa_mask); + default_abort_act.sa_flags = 0; + if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0) +#endif + INLINE_SYSCALL(kill, 2, pid, SIGABRT); + } + + /* SIGKILL is only signal which cannot be caught */ + INLINE_SYSCALL(kill, 2, pid, SIGKILL); + + /* In case the kill didn't work, exit anyway. + * The loop prevents gcc thinking this routine returns. + */ + while (1) + INLINE_SYSCALL(exit, 1, 137); +} + +__attribute__ ((__noreturn__)) +#ifdef GENTOO_SSP_HANDLER +void __stack_chk_fail(void) +#else +void __chk_fail(void) +#endif +{ + __hardened_gentoo_fail(); +} diff --git a/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c b/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c new file mode 100644 index 000000000000..4a537bb52c5f --- /dev/null +++ b/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c @@ -0,0 +1,2 @@ +#define GENTOO_SSP_HANDLER +#include <debug/chk_fail.c> diff --git a/sys-libs/glibc/files/eblits/src_compile.eblit b/sys-libs/glibc/files/eblits/src_compile.eblit index e336715cbc4e..d606e137ad29 100644 --- a/sys-libs/glibc/files/eblits/src_compile.eblit +++ b/sys-libs/glibc/files/eblits/src_compile.eblit @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_compile.eblit,v 1.40 2014/08/21 14:41:39 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_compile.eblit,v 1.41 2014/09/10 05:49:03 vapier Exp $ glibc_do_configure() { local myconf=() @@ -9,14 +9,14 @@ glibc_do_configure() { # set addons pushd "${S}" > /dev/null - local ADDONS=$(echo */configure | sed \ + local addons=$(echo */configure | sed \ -e 's:/configure::g' \ -e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \ -e 's: \+$::' \ -e 's! !,!g' \ -e 's!^!,!' \ -e '/^,\*$/d') - [[ -d ports ]] && ADDONS="${ADDONS},ports" + [[ -d ports ]] && addons+=",ports" popd > /dev/null myconf+=( $(use_enable hardened stackguard-randomization) ) @@ -40,14 +40,16 @@ glibc_do_configure() { fi myconf+=( --disable-sanity-checks ) - myconf+=( --enable-add-ons="linuxthreads${ADDONS}" ) + addons="linuxthreads${addons}" myconf+=( --enable-kernel=${LT_KER_VER} ) elif [[ $1 == "nptl" ]] ; then - myconf+=( --enable-add-ons="nptl${ADDONS}" ) + # Newer versions require nptl, so there is no addon for it. + version_is_at_least 2.20 || addons="nptl${addons}" myconf+=( --enable-kernel=${NPTL_KERN_VER} ) else die "invalid pthread option" fi + myconf+=( --enable-add-ons="${addons#,}" ) # Since SELinux support is only required for nscd, only enable it if: # 1. USE selinux diff --git a/sys-libs/glibc/glibc-2.20.ebuild b/sys-libs/glibc/glibc-2.20.ebuild new file mode 100644 index 000000000000..378bcd200615 --- /dev/null +++ b/sys-libs/glibc/glibc-2.20.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.20.ebuild,v 1.1 2014/09/10 05:49:03 vapier Exp $ + +inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig multilib systemd unpacker multiprocessing + +DESCRIPTION="GNU libc6 (also called glibc2) C library" +HOMEPAGE="http://www.gnu.org/software/libc/libc.html" + +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +RESTRICT="strip" # strip ourself #46186 +EMULTILIB_PKG="true" + +# Configuration variables +RELEASE_VER="" +case ${PV} in +9999*) + EGIT_REPO_URIS="git://sourceware.org/git/glibc.git" + EGIT_SOURCEDIRS="${S}" + inherit git-2 + ;; +*) + RELEASE_VER=${PV} + ;; +esac +GCC_BOOTSTRAP_VER="4.7.3-r1" +PATCH_VER="1" # Gentoo patchset +NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.32"} # min kernel version nptl requires + +IUSE="debug gd hardened multilib nscd selinux systemtap profile suid vanilla crosscompile_opts_headers-only" + +# Here's how the cross-compile logic breaks down ... +# CTARGET - machine that will target the binaries +# CHOST - machine that will host the binaries +# CBUILD - machine that will build the binaries +# If CTARGET != CHOST, it means you want a libc for cross-compiling. +# If CHOST != CBUILD, it means you want to cross-compile the libc. +# CBUILD = CHOST = CTARGET - native build/install +# CBUILD != (CHOST = CTARGET) - cross-compile a native build +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler +# For install paths: +# CHOST = CTARGET - install into / +# CHOST != CTARGET - install into /usr/CTARGET/ + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +[[ ${CTARGET} == hppa* ]] && NPTL_KERN_VER=${NPTL_KERN_VER/2.6.16/2.6.20} + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +# Why SLOT 2.2 you ask yourself while sippin your tea ? +# Everyone knows 2.2 > 0, duh. +SLOT="2.2" + +# General: We need a new-enough binutils/gcc to match upstream baseline. +# arch: we need to make sure our binutils/gcc supports TLS. +DEPEND=">=app-misc/pax-utils-0.1.10 + !<sys-apps/sandbox-1.6 + !<sys-apps/portage-2.1.2 + selinux? ( sys-libs/libselinux )" +RDEPEND="!sys-kernel/ps3-sources + selinux? ( sys-libs/libselinux ) + !sys-libs/nss-db" + +if [[ ${CATEGORY} == cross-* ]] ; then + DEPEND+=" !crosscompile_opts_headers-only? ( + >=${CATEGORY}/binutils-2.20 + >=${CATEGORY}/gcc-4.4 + )" + [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" +else + DEPEND+=" + >=sys-devel/binutils-2.20 + >=sys-devel/gcc-4.4 + virtual/os-headers + !vanilla? ( >=sys-libs/timezone-data-2012c )" + RDEPEND+=" + vanilla? ( !sys-libs/timezone-data ) + !vanilla? ( sys-libs/timezone-data )" +fi + +upstream_uris() { + echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1 +} +gentoo_uris() { + local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI" + devspace=${devspace//HTTP/http://dev.gentoo.org/} + echo mirror://gentoo/$1 ${devspace//URI/$1} +} +SRC_URI=$( + [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz + [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2 +) +SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}" + +# eblit-include [--skip] <function> [version] +eblit-include() { + local skipable=false + [[ $1 == "--skip" ]] && skipable=true && shift + [[ $1 == pkg_* ]] && skipable=true + + local e v func=$1 ver=$2 + [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]" + for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do + e="${FILESDIR}/eblits/${func}${v}.eblit" + if [[ -e ${e} ]] ; then + source "${e}" + return 0 + fi + done + ${skipable} && return 0 + die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/" +} + +# eblit-run-maybe <function> +# run the specified function if it is defined +eblit-run-maybe() { + [[ $(type -t "$@") == "function" ]] && "$@" +} + +# eblit-run <function> [version] +# aka: src_unpack() { eblit-run src_unpack ; } +eblit-run() { + eblit-include --skip common "${*:2}" + eblit-include "$@" + eblit-run-maybe eblit-$1-pre + eblit-${PN}-$1 + eblit-run-maybe eblit-$1-post +} + +src_unpack() { eblit-run src_unpack ; } +src_compile() { eblit-run src_compile ; } +src_test() { eblit-run src_test ; } +src_install() { eblit-run src_install ; } + +# FILESDIR might not be available during binpkg install +for x in setup {pre,post}inst ; do + e="${FILESDIR}/eblits/pkg_${x}.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + eval "pkg_${x}() { eblit-run pkg_${x} ; }" + fi +done + +eblit-src_unpack-pre() { + [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2 +} + +eblit-src_unpack-post() { + cd "${S}" + + if use hardened ; then + einfo "Patching to get working PIE binaries on PIE (hardened) platforms" + gcc-specs-pie && epatch "${FILESDIR}"/2.17/glibc-2.17-hardened-pie.patch + epatch "${FILESDIR}"/2.18/glibc-2.18-hardened-inittls-nosysenter.patch + + # We don't enable these for non-hardened as the output is very terse -- + # it only states that a crash happened. The default upstream behavior + # includes backtraces and symbols. + einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler" + cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die + cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-chk_fail.c debug/chk_fail.c || die + + if use debug ; then + # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested. + sed -i \ + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \ + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \ + debug/Makefile || die + fi + + # Build various bits with ssp-all + sed -i \ + -e 's:-fstack-protector$:-fstack-protector-all:' \ + */Makefile || die + fi +} diff --git a/sys-libs/glibc/metadata.xml b/sys-libs/glibc/metadata.xml index 29f68edc8065..a113d4369b6c 100644 --- a/sys-libs/glibc/metadata.xml +++ b/sys-libs/glibc/metadata.xml @@ -3,6 +3,7 @@ <pkgmetadata> <herd>toolchain</herd> <use> + <flag name='debug'>When USE=hardened, allow fortify/stack violations to dump core (SIGABRT) and not kill self (SIGKILL)</flag> <flag name='gd'>build memusage and memusagestat tools</flag> <flag name='nscd'>Build, and enable support for, the Name Service Cache Daemon</flag> <flag name='suid'>Make internal pt_chown helper setuid -- not needed if using Linux and have /dev/pts mounted with gid=5</flag> |