summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Hale <tseng@gentoo.org>2004-06-05 15:54:29 +0000
committerBrandon Hale <tseng@gentoo.org>2004-06-05 15:54:29 +0000
commit79b5f1c3567d8131e6d9c1c7d1bd1751331a6f29 (patch)
tree8f3b75514c7e14a7087ebbbd9a5b5219bcaefc8d /sys-libs
parentnew version on cpan (diff)
downloadhistorical-79b5f1c3567d8131e6d9c1c7d1bd1751331a6f29.tar.gz
historical-79b5f1c3567d8131e6d9c1c7d1bd1751331a6f29.tar.bz2
historical-79b5f1c3567d8131e6d9c1c7d1bd1751331a6f29.zip
Create an -r11 (-*) with backported patches from 2.3.3_pre, namely owl-unlink checking and updated SSP.
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/glibc/ChangeLog15
-rw-r--r--sys-libs/glibc/Manifest221
-rw-r--r--sys-libs/glibc/files/2.3.2/glibc-2.3.2-frandom-detect.patch52
-rw-r--r--sys-libs/glibc/files/2.3.2/glibc-2.3.2-got-fix.diff22
-rw-r--r--sys-libs/glibc/files/2.3.2/glibc-2.3.2-owl-malloc-unlink-sanity-check.diff29
-rw-r--r--sys-libs/glibc/files/2.3.2/glibc-2.3.2-propolice-guard-functions-v3.patch43
-rw-r--r--sys-libs/glibc/files/2.3.2/glibc-2.3.2-pt_pax.diff29
-rw-r--r--sys-libs/glibc/files/2.3.2/glibc-2.3.2-signal-ssp.diff40
-rw-r--r--sys-libs/glibc/files/2.3.2/ssp.c160
-rw-r--r--sys-libs/glibc/files/digest-glibc-2.3.2-r114
-rw-r--r--sys-libs/glibc/glibc-2.3.2-r11.ebuild671
11 files changed, 1179 insertions, 107 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog
index 27ff70054027..a8a37386d204 100644
--- a/sys-libs/glibc/ChangeLog
+++ b/sys-libs/glibc/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for sys-libs/glibc
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.172 2004/06/05 01:47:46 iluxa Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.173 2004/06/05 15:54:29 tseng Exp $
+
+*glibc-2.3.2-r11 (05 Jun 2004)
+
+ 05 Jun 2004; Brandon Hale <tseng@gentoo.org>
+ +files/2.3.2/glibc-2.3.2-frandom-detect.patch,
+ +files/2.3.2/glibc-2.3.2-got-fix.diff,
+ +files/2.3.2/glibc-2.3.2-owl-malloc-unlink-sanity-check.diff,
+ +files/2.3.2/glibc-2.3.2-propolice-guard-functions-v3.patch,
+ +files/2.3.2/glibc-2.3.2-pt_pax.diff,
+ +files/2.3.2/glibc-2.3.2-signal-ssp.diff, +files/2.3.2/ssp.c,
+ +glibc-2.3.2-r11.ebuild:
+ Create an -r11 (-*) with backported patches from 2.3.3_pre, namely owl-unlink
+ checking and updated SSP.
04 Jun 2004; Ilya A. Volynets-Evenbach <iluxa@gentoo.org>
+files/2.3.4/mips-sysdep-cancel.diff, glibc-2.3.4.20040602.ebuild:
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 77762739b177..3b3372d1ac09 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -1,136 +1,145 @@
+MD5 93b9f71e34ff72ef7f3accba2f9e3280 ChangeLog 35963
+MD5 3cabdcac98a09022f6fd32d93899af00 glibc-2.3.4.20040602.ebuild 16096
+MD5 8b7e7808eb2770c0232fa297a5896460 glibc-2.3.3_pre20040529.ebuild 21693
+MD5 32383b07afc0abdbb3a8da5fe539a696 glibc-2.3.2-r9.ebuild 18657
+MD5 b141dc6e9c4183e869f6d95f0f015b99 glibc-2.2.5-r9.ebuild 10002
MD5 feddb555a68db8822720bd4019a63b24 glibc-2.3.3_pre20040420-r1.ebuild 20353
+MD5 03c72a7da4b62b7c73dbb67b70252a20 glibc-2.3.3_pre20040117.ebuild 18526
+MD5 8e0c5284b715af1e90ed2c0e2184599c glibc-2.3.3_pre20040420.ebuild 19887
+MD5 40b73d3cb79e611b0b6a3385f1601e32 glibc-2.3.3_pre20040207.ebuild 19594
+MD5 c1f9466ec8250dd47beb7a71f7c536fe glibc-2.3.1-r5.ebuild 10719
+MD5 6ae51bfd7e5cc6af9b1ea678354a8760 glibc-2.3.2-r2.ebuild 17968
MD5 37180d536733ae205d0db321571cd5ca glibc-2.3.3_pre20040117-r1.ebuild 19232
MD5 6ac96ce0f33c3d794730111609c45576 glibc-2.3.2-r3.ebuild 17308
-MD5 40b73d3cb79e611b0b6a3385f1601e32 glibc-2.3.3_pre20040207.ebuild 19594
MD5 c09629c691d99b48b52e8ee8083cd1da glibc-2.3.3_pre20031210.ebuild 19015
-MD5 8b7e7808eb2770c0232fa297a5896460 glibc-2.3.3_pre20040529.ebuild 21693
-MD5 081030d4ac6e9b8879727089b52b28fd glibc-2.3.2-r10.ebuild 19418
-MD5 03c72a7da4b62b7c73dbb67b70252a20 glibc-2.3.3_pre20040117.ebuild 18526
-MD5 6ae51bfd7e5cc6af9b1ea678354a8760 glibc-2.3.2-r2.ebuild 17968
-MD5 c1f9466ec8250dd47beb7a71f7c536fe glibc-2.3.1-r5.ebuild 10719
-MD5 e3f7714bc146fa7c27b8c7eecd8a1f18 ChangeLog 35427
-MD5 8e0c5284b715af1e90ed2c0e2184599c glibc-2.3.3_pre20040420.ebuild 19887
MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
-MD5 3cabdcac98a09022f6fd32d93899af00 glibc-2.3.4.20040602.ebuild 16096
-MD5 b141dc6e9c4183e869f6d95f0f015b99 glibc-2.2.5-r9.ebuild 10002
-MD5 32383b07afc0abdbb3a8da5fe539a696 glibc-2.3.2-r9.ebuild 18657
-MD5 98ea363167dacaaad23fd9a66ba98d5b files/nscd 844
-MD5 135f8145885a2f4f9876fe973f33ddf6 files/glibc-2.2.4-string2.h.diff 5221
-MD5 d688e44731d6e4b757382d7646c492c3 files/glibc-xdr_security.patch 6612
-MD5 c02420990c4908a6336d81ea5192a37e files/glibc-manpages-2.3.1.tar.bz2 14755
-MD5 9cc1e6b6f749dba7c8759bd07266f7d9 files/digest-glibc-2.2.5-r9 143
-MD5 439cce38dd07f6669b9bb50f0c211b41 files/digest-glibc-2.3.1-r5 141
+MD5 081030d4ac6e9b8879727089b52b28fd glibc-2.3.2-r10.ebuild 19418
+MD5 ad377698cf9e77788f92c623cf12b8c7 glibc-2.3.2-r11.ebuild 19801
MD5 de6744f3ba45c52573febfa91a3d1d1d files/digest-glibc-2.3.2-r2 296
-MD5 6b4ab93e3890f58e0845bbe51923eeb1 files/digest-glibc-2.3.2-r3 205
+MD5 d8830438ea871dbfd1acf7a3d0299159 files/test-__thread.c 53
+MD5 49374df695743477ccba680199a0ff87 files/digest-glibc-2.3.3_pre20040117 312
+MD5 c02420990c4908a6336d81ea5192a37e files/glibc-manpages-2.3.1.tar.bz2 14755
+MD5 2d5306ef875573750af642a9f93b634a files/digest-glibc-2.3.2-r10 312
+MD5 42af7e35fe2404a49954f91fd1aee891 files/digest-glibc-2.3.3_pre20040420-r1 312
+MD5 4404ee4b6e3017819d8f36082e0265e5 files/test-sysctl_h.c 54
+MD5 b5f28bc50aafc5ed560d7eef910dbe8b files/digest-glibc-2.3.3_pre20031210 148
MD5 2d5306ef875573750af642a9f93b634a files/digest-glibc-2.3.2-r9 312
-MD5 2013443f5192d4b999953ba4248d288c files/nscd.conf 1158
-MD5 49374df695743477ccba680199a0ff87 files/digest-glibc-2.3.3_pre20040117-r1 312
+MD5 439cce38dd07f6669b9bb50f0c211b41 files/digest-glibc-2.3.1-r5 141
+MD5 c4300e2f8808cb38a308745ed8b77367 files/locales.build 602
+MD5 2d5306ef875573750af642a9f93b634a files/digest-glibc-2.3.2-r11 312
MD5 b2383b60b37633353a35432c9ec50a99 files/digest-glibc-2.3.4.20040602 75
-MD5 42af7e35fe2404a49954f91fd1aee891 files/digest-glibc-2.3.3_pre20040420-r1 312
MD5 52cfc7627fc62dfb26d8d163aac361f6 files/glibc-2.2.2-test-lfs-timeout.patch 320
+MD5 135f8145885a2f4f9876fe973f33ddf6 files/glibc-2.2.4-string2.h.diff 5221
+MD5 49374df695743477ccba680199a0ff87 files/digest-glibc-2.3.3_pre20040117-r1 312
MD5 b712a49b5113fccb4c8b0ada2a30d390 files/glibc-manpages-2.2.5.tar.bz2 14610
+MD5 6b4ab93e3890f58e0845bbe51923eeb1 files/digest-glibc-2.3.2-r3 205
+MD5 2013443f5192d4b999953ba4248d288c files/nscd.conf 1158
+MD5 42af7e35fe2404a49954f91fd1aee891 files/digest-glibc-2.3.3_pre20040420 312
+MD5 9cc1e6b6f749dba7c8759bd07266f7d9 files/digest-glibc-2.2.5-r9 143
MD5 184eddb92615fb991dce41b9edbfa690 files/glibc-manpages-2.3.2.tar.bz2 14700
-MD5 b5f28bc50aafc5ed560d7eef910dbe8b files/digest-glibc-2.3.3_pre20031210 148
-MD5 49374df695743477ccba680199a0ff87 files/digest-glibc-2.3.3_pre20040117 312
MD5 4555143fbcd20978747f7864f2f7fc01 files/digest-glibc-2.3.3_pre20040207 312
-MD5 42af7e35fe2404a49954f91fd1aee891 files/digest-glibc-2.3.3_pre20040420 312
-MD5 268eda0de40469d19bb7ff5c5cb7ec82 files/digest-glibc-2.3.3_pre20040529 312
-MD5 c4300e2f8808cb38a308745ed8b77367 files/locales.build 602
-MD5 4404ee4b6e3017819d8f36082e0265e5 files/test-sysctl_h.c 54
-MD5 2d5306ef875573750af642a9f93b634a files/digest-glibc-2.3.2-r10 312
MD5 e4393f4721a207750581d6265d5f7f40 files/fix-sysctl_h.patch 376
-MD5 d8830438ea871dbfd1acf7a3d0299159 files/test-__thread.c 53
-MD5 93c2f3cb1c07d9a39da245b065c74f6c files/2.2.5/glibc-2.2.5-divdi3.diff 9752
-MD5 7481046043f42ecf4ac0a218abc896fc files/2.2.5/glibc-2.2.5-gcc311.patch 534
-MD5 e6dc1e4d7839d2bb08c6865466791183 files/2.2.5/glibc-2.2.5-sunrpc-overflow.diff 2460
-MD5 e9d9d086e8ed29ed49252d4cd0050f66 files/2.2.5/glibc-2.2.5.restrict_arr.patch 762
-MD5 a12b84b5af2808f5c0223259f7a9610c files/2.2.5/glibc-2.2.5-sparc-mathinline.patch 1014
-MD5 b07a316cbba4ddc1e1bb094a3056f12f files/2.2.5/glibc-2.2.5-ppc-semctl.diff 1337
-MD5 1c3b30834a25149e4738eead113462ad files/2.2.5/glibc-2.2.5-getgrouplist.patch 708
-MD5 56a7a0273e0666eb40b0c6b45d62881d files/2.2.5/glibc-2.2.5-arm-sysdeps-fix.diff 362
-MD5 843eaa26ae2c49e894aa365b6f463546 files/2.2.5/glibc-2.2.5-alpha-pcdyn-fix.diff 471
-MD5 5182f441608833569cb9e78536baf8af files/2.2.5/glibc-2.2.5-arm-errlist-fix.diff 2210
-MD5 993732f56fdecf36f672198112fc5d5c files/2.2.5/glibc-2.2.5-threadsig.diff 636
-MD5 a50da56218f9aabc347d7e1130961cec files/2.2.5/glibc-2.2.5.divbyzero.patch 1694
-MD5 b12e1a7de85cd82bcb341863643c9ffd files/2.2.5/glibc-2.2.5-dns-network-overflow.diff 365
-MD5 c34a3c6bf21274a506090f05b7ea60ff files/2.2.5/glibc-2.2.5-ppc-sqrtl.diff 715
-MD5 c7783e49497814c3d86bd63bbed2a9b3 files/2.2.5/glibc-2.2.5-sandbox.diff 438
-MD5 6bdfb930ffdfdeb6b2ee823fefe42513 files/2.2.5/glibc-2.2.5-sparc-misc.diff 12252
-MD5 f75ebd335c4b882013cc12229d39c9f7 files/2.2.5/glibc-2.2.5-alpha-gcc3-fix.diff 475
-MD5 6afbd6fe65c0e2034587ba6d1da427a3 files/2.2.5/glibc-2.2.5-sparc64-fixups.diff 1407
-MD5 96914104dbdc2807c84549c3d20cb47c files/2.2.5/glibc-2.2.5-sparc32-semctl.patch 6311
-MD5 2474bda0015ede78a23190c3051a599b files/2.3.1/glibc-2.3.1-tst-rndseek-mips.patch 446
-MD5 66d8b78875e17e2d385a4d52af9698c4 files/2.3.1/glibc-2.3.1-ctype-compat.patch 728
+MD5 268eda0de40469d19bb7ff5c5cb7ec82 files/digest-glibc-2.3.3_pre20040529 312
+MD5 d688e44731d6e4b757382d7646c492c3 files/glibc-xdr_security.patch 6612
+MD5 98ea363167dacaaad23fd9a66ba98d5b files/nscd 844
+MD5 1185022e9a50560d1bf9116a0461e011 files/2.3.4/mips-sysdep-cancel.diff 2402
+MD5 1e95cbf4aed1619831947cdd35c73108 files/2.3.1/glibc23-hppa-shmlba.dpatch 1754
+MD5 75983ceba061c090373c14394d08d32c files/2.3.1/glibc-2.3.1-typeo_dl-runtime_c.patch 848
MD5 5a528678247e6bafe92d2483383afd5b files/2.3.1/glibc23-00-hppa-pthreads.dpatch 29951
-MD5 afaf2540d2803ac066eb2555f2019a6f files/2.3.1/glibc-2.3.1-exit-syscall-mips.patch 633
-MD5 4f8ecd70003c5ca153ff7c204c54c1cf files/2.3.1/glibc-2.3.1-elf-machine-rela-mips.patch 1246
+MD5 1f715052e230f60a1e5c5f72b193f0bf files/2.3.1/glibc-2.3.1-sscanf.patch 392
+MD5 23bbb51d1008f3009e6f1867b284c9bc files/2.3.1/glibc-2.3.1-libgcc-compat-mips.patch 5222
+MD5 a91843899c8ef4b59341313915f177b4 files/2.3.1/glibc23-05-hppa-buildhack.dpatch 1134
+MD5 e1cbb66f3d9823cf5a05ce52b2223acf files/2.3.1/glibc-2.3.1-ulps-mips.patch 27618
+MD5 4123a64b0004d505d22d811ba4aae451 files/2.3.1/glibc-2.3.1-ftw.patch 4622
+MD5 2474bda0015ede78a23190c3051a599b files/2.3.1/glibc-2.3.1-tst-rndseek-mips.patch 446
MD5 941f13d27badc76c1e3704c59acaff26 files/2.3.1/glibc-2.3.1-ctype-compat-v3.patch 2823
MD5 035d42c51f2397339c1518baa06e3a81 files/2.3.1/glibc23-04-hppa-fcntl64.dpatch 2085
-MD5 1f715052e230f60a1e5c5f72b193f0bf files/2.3.1/glibc-2.3.1-sscanf.patch 392
-MD5 0da8ef4341ed31232e1c9e0da96f9c79 files/2.3.1/glibc-2.3.1-getgrouplist.patch 1680
+MD5 21506827cc2094c80d3c0c0e8ef3569c files/2.3.1/glibc-2.3.1-ctype-compat-v2.patch 1468
MD5 41599dc27ba12b5f2428056dc0ebb1d1 files/2.3.1/glibc23-08-hppa-configure.dpatch 4704
+MD5 7f8ec486f1669036429acc8b272c453e files/2.3.1/glibc23-02-hppa-min-kern-unwind-fde.dpatch 1728
+MD5 f15c6dec40cefa86dae48a7dcb3b779a files/2.3.1/glibc-2.3.1-librt-mips.patch 396
MD5 1c4e567ed001f9489e11ee06c1ced0b7 files/2.3.1/glibc-2.3.1-libc_wait-compat.patch 1053
-MD5 75983ceba061c090373c14394d08d32c files/2.3.1/glibc-2.3.1-typeo_dl-runtime_c.patch 848
+MD5 d84791059f1b4e7b157b3bbefe783208 files/2.3.1/glibc-2.3.1-stack_end-compat.patch 751
+MD5 dc18731db5bd28b8bd2074fc9177fd35 files/2.3.1/glibc23-07-hppa-atomicity.dpatch 2519
MD5 a49946706c7f248294896eeb64308a09 files/2.3.1/glibc23-03-hppa-mcontext.dpatch 1402
-MD5 1e95cbf4aed1619831947cdd35c73108 files/2.3.1/glibc23-hppa-shmlba.dpatch 1754
+MD5 cdbf2aacfaae7737f89ae733f148169c files/2.3.1/glibc-2.3.1-prelinkfix.patch 5005
+MD5 0da8ef4341ed31232e1c9e0da96f9c79 files/2.3.1/glibc-2.3.1-getgrouplist.patch 1680
+MD5 66d8b78875e17e2d385a4d52af9698c4 files/2.3.1/glibc-2.3.1-ctype-compat.patch 728
MD5 67b125cec4f1f0d26ce4df706451fee6 files/2.3.1/glibc-2.3.1-fpu-cw-mips.patch 433
-MD5 e1cbb66f3d9823cf5a05ce52b2223acf files/2.3.1/glibc-2.3.1-ulps-mips.patch 27618
-MD5 f15c6dec40cefa86dae48a7dcb3b779a files/2.3.1/glibc-2.3.1-librt-mips.patch 396
-MD5 d84791059f1b4e7b157b3bbefe783208 files/2.3.1/glibc-2.3.1-stack_end-compat.patch 751
+MD5 4f8ecd70003c5ca153ff7c204c54c1cf files/2.3.1/glibc-2.3.1-elf-machine-rela-mips.patch 1246
+MD5 2b746db4988cf7f5c6824302561b7eb5 files/2.3.1/glibc23-06-hppa-tests.dpatch 21021
+MD5 1968bc39ae8224c1dee9534781203d2e files/2.3.1/glibc-2.3.1-locale.patch 8666
+MD5 afaf2540d2803ac066eb2555f2019a6f files/2.3.1/glibc-2.3.1-exit-syscall-mips.patch 633
MD5 235976914abfab3408d8d63cb4ffebe2 files/2.3.1/glibc-2.3.1-inline-syscall-mips.patch 7753
MD5 b8f6b8b0ed8649fc9af439adef7472f2 files/2.3.1/glibc23-01-hppa-dl-machine.dpatch 12226
-MD5 1968bc39ae8224c1dee9534781203d2e files/2.3.1/glibc-2.3.1-locale.patch 8666
-MD5 a91843899c8ef4b59341313915f177b4 files/2.3.1/glibc23-05-hppa-buildhack.dpatch 1134
-MD5 dc18731db5bd28b8bd2074fc9177fd35 files/2.3.1/glibc23-07-hppa-atomicity.dpatch 2519
-MD5 23bbb51d1008f3009e6f1867b284c9bc files/2.3.1/glibc-2.3.1-libgcc-compat-mips.patch 5222
-MD5 2b746db4988cf7f5c6824302561b7eb5 files/2.3.1/glibc23-06-hppa-tests.dpatch 21021
-MD5 4123a64b0004d505d22d811ba4aae451 files/2.3.1/glibc-2.3.1-ftw.patch 4622
-MD5 7f8ec486f1669036429acc8b272c453e files/2.3.1/glibc23-02-hppa-min-kern-unwind-fde.dpatch 1728
-MD5 cdbf2aacfaae7737f89ae733f148169c files/2.3.1/glibc-2.3.1-prelinkfix.patch 5005
-MD5 21506827cc2094c80d3c0c0e8ef3569c files/2.3.1/glibc-2.3.1-ctype-compat-v2.patch 1468
-MD5 a505a59f53c5e068728d0aba44007a10 files/2.3.2/glibc-2.3.2-gcc33-sscanf.patch 671
-MD5 9bc5a914b9625c662544785a4a685086 files/2.3.2/glibc-2.3.2-redhat-nptl-fixes.patch 1077
-MD5 080146d608b878d517b5cf4c29f0ef08 files/2.3.2/glibc-2.3.2-alpha-crti.patch 378
-MD5 1a926f1adc2f321abb31b1e11024e3ac files/2.3.2/glibc-2.3.2-dl-reloc-calc-fix.patch 1405
-MD5 578d3e5ff83cca218279a7a094fd0dad files/2.3.2/glibc-2.3.2-propolice-guard-functions-v2.patch 5107
-MD5 3d32067de612f477862e9b24c158a7ce files/2.3.2/glibc-2.3.2-rtld-assert-fix.patch 1153
-MD5 bfb5e3c2c46359a8c426e98fe0e39838 files/2.3.2/glibc-2.3.2-mips-add-n32-n64-sysdep-cancel.patch 6344
-MD5 d21659e6aa8802290d6734ec118bbb81 files/2.3.2/glibc-2.3.2-mips-pread-linux2.5.patch 5310
-MD5 afa967d5fea8e467dda9c588f5600ed1 files/2.3.2/glibc-2.3.2-amd64-nomultilib.patch 506
-MD5 9ef93639d5016677d41e5ec986fcb7f5 files/2.3.2/glibc-2.3.2-alpha-pwrite.patch 918
-MD5 f62924cbf762eb230514a9859522f5e7 files/2.3.2/glibc-2.3.2-nptl-fix-include.patch 247
-MD5 2f6605aae9bc4e538af783c0b2be3a7f files/2.3.2/glibc-2.3.2-decc-compaq.patch 1422
-MD5 cfce14f1f90a3903ed076a5209198ce5 files/2.3.2/glibc-2.3.2-armformat.patch 416
-MD5 8d75a288ff9aa450717048b43497c82c files/2.3.2/glibc-2.3.2-dl_execstack-PaX-support.patch 1945
-MD5 523558956091d4ffcd33b72c57ac4bac files/2.3.2/glibc-2.3.2-arm-bus-defines.patch 276
-MD5 026be2442305eef0a3e3ff897a14768e files/2.3.2/glibc-2.3.2-framestate-USING_SJLJ_EXCEPTIONS.patch 440
-MD5 4e99301d9cb2865f14d82595f3b7bc0a files/2.3.2/glibc-2.3.2-mips-fix-n32-n64-sysdep-headers.patch 4398
-MD5 cd0306085902d8629f2a77061cacdfd2 files/2.3.2/glibc-2.3.2-ia64-LOAD_ARGS-fixup.patch 4445
-MD5 3eeb5a5b2f01b1fdb7a4af923e5b0cec files/2.3.2/glibc-2.3.2-s390-deprecated-ustat-fixup.patch 6638
-MD5 ba477be20da9885349e4599de7a08c18 files/2.3.2/glibc-2.3.2-redhat-linuxthreads-fixes.patch 2532
-MD5 15ac94e1ccc48f31120960dfe006818a files/2.3.2/glibc-2.3.2-iconvconfig-name_insert.patch 2262
-MD5 0c85c7ef9fbb066ad30ce8b6eb1c6228 files/2.3.2/glibc-2.3.2-fix-omitted-operand-in-mathinline_h.patch 680
-MD5 03cbfe983ca93434ae6698f13d14c0e8 files/2.3.2/glibc-2.3.2-mips-configure-for-n64-symver.patch 741
-MD5 855edac3c5abd21b4617408d4e3b5ae3 files/2.3.2/glibc-2.3.2-cispeed-cospeed-fix.patch 2424
-MD5 df41c3a20ead370c2208599cf4251f3d files/2.3.2/glibc-2.3.2-mips-fix-nested-entend-pairs.patch 612
-MD5 250d09cb52d2c3c7f6b0c4e0a1bf47f2 files/2.3.2/sysmacros.h 2443
-MD5 45b1fda5b64866e837a825d0add0b31c files/2.3.2/glibc-2.3.2-ipv6-bytestring-fix.patch 4088
-MD5 b27417338a4cd9906e2917701f0be575 files/2.3.2/glibc-2.3.2-propolice-guard-functions.patch 5069
-MD5 0bfc56be86acec8ec52fe29249e267a4 files/2.3.3/glibc-2.3.3-owl-malloc-unlink-sanity-check.diff 1425
MD5 62f7e62583aaa70645d9c847b6a84299 files/2.3.3/glibc-2.3.3-frandom-detect.patch 1770
-MD5 ca1d4648f72e5fea2858fdb6ea3d39a0 files/2.3.3/mips-addabi.diff 1720
MD5 9e2c8ac6d3fa8494ecb962b675f412b5 files/2.3.3/ssp.c 3936
-MD5 847afe57e19abff1d5c49f6bb7084a3d files/2.3.3/mips-syscall.h.diff 1199
-MD5 7b6054c2e8ec654341690586bc2028c5 files/2.3.3/glibc-2.3.3_pre20040117-signal-ssp.diff 1431
MD5 0e27dbd2a3b85a0e14625294296fad9a files/2.3.3/glibc-2.3.2-propolice-guard-functions-v3.patch 1986
+MD5 847afe57e19abff1d5c49f6bb7084a3d files/2.3.3/mips-syscall.h.diff 1199
+MD5 1b5df7c58ad160593192704cece47347 files/2.3.3/glibc-2.3.3-dl_execstack-PaX-support.patch 1791
+MD5 84fa9a725c22975d735a2f91543a5cca files/2.3.3/mips-sysify.diff 2138
MD5 81d95470c5766e56e27ad8b6967d2a16 files/2.3.3/semtimedop.diff 602
+MD5 175bde9b0017d4deb63cf55f38173e11 files/2.3.3/glibc-2.3.3_pre20040117-got-fix.diff 752
MD5 a3eb98943bc9db66df33bfc08dea4c2e files/2.3.3/glibc-2.3.3_pre20040117-pt_pax.diff 1470
+MD5 7b6054c2e8ec654341690586bc2028c5 files/2.3.3/glibc-2.3.3_pre20040117-signal-ssp.diff 1431
+MD5 ca1d4648f72e5fea2858fdb6ea3d39a0 files/2.3.3/mips-addabi.diff 1720
+MD5 ab91cb5bad07e1e79f990d4933741d42 files/2.3.3/glibc-2.3.3_pre20040420-mips-incl-sgidefs.diff 8287
MD5 f9343413b90877edfcaeedf89b3dec77 files/2.3.3/mips-nolib3264.diff 1166
-MD5 86626ba8df9cac083bb3e1cfe23ec07e files/2.3.3/glibc-2.3.3_pre20040420-mips-dl-machine-calls.diff 1497
MD5 69d86fa55810b4d327d0cb35042c034f files/2.3.3/glibc-2.3.3-ssp-gcc34-after-frandom.patch 538
-MD5 84fa9a725c22975d735a2f91543a5cca files/2.3.3/mips-sysify.diff 2138
-MD5 175bde9b0017d4deb63cf55f38173e11 files/2.3.3/glibc-2.3.3_pre20040117-got-fix.diff 752
MD5 ec83f3d86f23243a1fb334b8872d454f files/2.3.3/glibc-2.3.3-localedef-fix-trampoline.patch 2329
-MD5 ab91cb5bad07e1e79f990d4933741d42 files/2.3.3/glibc-2.3.3_pre20040420-mips-incl-sgidefs.diff 8287
-MD5 1b5df7c58ad160593192704cece47347 files/2.3.3/glibc-2.3.3-dl_execstack-PaX-support.patch 1791
-MD5 1185022e9a50560d1bf9116a0461e011 files/2.3.4/mips-sysdep-cancel.diff 2402
+MD5 86626ba8df9cac083bb3e1cfe23ec07e files/2.3.3/glibc-2.3.3_pre20040420-mips-dl-machine-calls.diff 1497
+MD5 0bfc56be86acec8ec52fe29249e267a4 files/2.3.3/glibc-2.3.3-owl-malloc-unlink-sanity-check.diff 1425
+MD5 843eaa26ae2c49e894aa365b6f463546 files/2.2.5/glibc-2.2.5-alpha-pcdyn-fix.diff 471
+MD5 93c2f3cb1c07d9a39da245b065c74f6c files/2.2.5/glibc-2.2.5-divdi3.diff 9752
+MD5 7481046043f42ecf4ac0a218abc896fc files/2.2.5/glibc-2.2.5-gcc311.patch 534
+MD5 6afbd6fe65c0e2034587ba6d1da427a3 files/2.2.5/glibc-2.2.5-sparc64-fixups.diff 1407
+MD5 6bdfb930ffdfdeb6b2ee823fefe42513 files/2.2.5/glibc-2.2.5-sparc-misc.diff 12252
+MD5 56a7a0273e0666eb40b0c6b45d62881d files/2.2.5/glibc-2.2.5-arm-sysdeps-fix.diff 362
+MD5 e9d9d086e8ed29ed49252d4cd0050f66 files/2.2.5/glibc-2.2.5.restrict_arr.patch 762
+MD5 a50da56218f9aabc347d7e1130961cec files/2.2.5/glibc-2.2.5.divbyzero.patch 1694
+MD5 5182f441608833569cb9e78536baf8af files/2.2.5/glibc-2.2.5-arm-errlist-fix.diff 2210
+MD5 c34a3c6bf21274a506090f05b7ea60ff files/2.2.5/glibc-2.2.5-ppc-sqrtl.diff 715
+MD5 1c3b30834a25149e4738eead113462ad files/2.2.5/glibc-2.2.5-getgrouplist.patch 708
+MD5 a12b84b5af2808f5c0223259f7a9610c files/2.2.5/glibc-2.2.5-sparc-mathinline.patch 1014
+MD5 e6dc1e4d7839d2bb08c6865466791183 files/2.2.5/glibc-2.2.5-sunrpc-overflow.diff 2460
+MD5 c7783e49497814c3d86bd63bbed2a9b3 files/2.2.5/glibc-2.2.5-sandbox.diff 438
+MD5 f75ebd335c4b882013cc12229d39c9f7 files/2.2.5/glibc-2.2.5-alpha-gcc3-fix.diff 475
+MD5 b07a316cbba4ddc1e1bb094a3056f12f files/2.2.5/glibc-2.2.5-ppc-semctl.diff 1337
+MD5 b12e1a7de85cd82bcb341863643c9ffd files/2.2.5/glibc-2.2.5-dns-network-overflow.diff 365
+MD5 96914104dbdc2807c84549c3d20cb47c files/2.2.5/glibc-2.2.5-sparc32-semctl.patch 6311
+MD5 993732f56fdecf36f672198112fc5d5c files/2.2.5/glibc-2.2.5-threadsig.diff 636
+MD5 0e3ced9c3c484f502dcade7ffffa15f4 files/2.3.2/ssp.c 3935
+MD5 0e27dbd2a3b85a0e14625294296fad9a files/2.3.2/glibc-2.3.2-propolice-guard-functions-v3.patch 1986
+MD5 0bfc56be86acec8ec52fe29249e267a4 files/2.3.2/glibc-2.3.2-owl-malloc-unlink-sanity-check.diff 1425
+MD5 45b1fda5b64866e837a825d0add0b31c files/2.3.2/glibc-2.3.2-ipv6-bytestring-fix.patch 4088
+MD5 62f7e62583aaa70645d9c847b6a84299 files/2.3.2/glibc-2.3.2-frandom-detect.patch 1770
+MD5 250d09cb52d2c3c7f6b0c4e0a1bf47f2 files/2.3.2/sysmacros.h 2443
+MD5 d21659e6aa8802290d6734ec118bbb81 files/2.3.2/glibc-2.3.2-mips-pread-linux2.5.patch 5310
+MD5 b27417338a4cd9906e2917701f0be575 files/2.3.2/glibc-2.3.2-propolice-guard-functions.patch 5069
+MD5 523558956091d4ffcd33b72c57ac4bac files/2.3.2/glibc-2.3.2-arm-bus-defines.patch 276
+MD5 026be2442305eef0a3e3ff897a14768e files/2.3.2/glibc-2.3.2-framestate-USING_SJLJ_EXCEPTIONS.patch 440
+MD5 cfce14f1f90a3903ed076a5209198ce5 files/2.3.2/glibc-2.3.2-armformat.patch 416
+MD5 1a926f1adc2f321abb31b1e11024e3ac files/2.3.2/glibc-2.3.2-dl-reloc-calc-fix.patch 1405
+MD5 a3eb98943bc9db66df33bfc08dea4c2e files/2.3.2/glibc-2.3.2-pt_pax.diff 1470
+MD5 03cbfe983ca93434ae6698f13d14c0e8 files/2.3.2/glibc-2.3.2-mips-configure-for-n64-symver.patch 741
+MD5 df41c3a20ead370c2208599cf4251f3d files/2.3.2/glibc-2.3.2-mips-fix-nested-entend-pairs.patch 612
+MD5 15ac94e1ccc48f31120960dfe006818a files/2.3.2/glibc-2.3.2-iconvconfig-name_insert.patch 2262
+MD5 9ef93639d5016677d41e5ec986fcb7f5 files/2.3.2/glibc-2.3.2-alpha-pwrite.patch 918
+MD5 8d75a288ff9aa450717048b43497c82c files/2.3.2/glibc-2.3.2-dl_execstack-PaX-support.patch 1945
+MD5 3eeb5a5b2f01b1fdb7a4af923e5b0cec files/2.3.2/glibc-2.3.2-s390-deprecated-ustat-fixup.patch 6638
+MD5 0c85c7ef9fbb066ad30ce8b6eb1c6228 files/2.3.2/glibc-2.3.2-fix-omitted-operand-in-mathinline_h.patch 680
+MD5 855edac3c5abd21b4617408d4e3b5ae3 files/2.3.2/glibc-2.3.2-cispeed-cospeed-fix.patch 2424
+MD5 cd0306085902d8629f2a77061cacdfd2 files/2.3.2/glibc-2.3.2-ia64-LOAD_ARGS-fixup.patch 4445
+MD5 3d32067de612f477862e9b24c158a7ce files/2.3.2/glibc-2.3.2-rtld-assert-fix.patch 1153
+MD5 afa967d5fea8e467dda9c588f5600ed1 files/2.3.2/glibc-2.3.2-amd64-nomultilib.patch 506
+MD5 ba477be20da9885349e4599de7a08c18 files/2.3.2/glibc-2.3.2-redhat-linuxthreads-fixes.patch 2532
+MD5 7b6054c2e8ec654341690586bc2028c5 files/2.3.2/glibc-2.3.2-signal-ssp.diff 1431
+MD5 9bc5a914b9625c662544785a4a685086 files/2.3.2/glibc-2.3.2-redhat-nptl-fixes.patch 1077
+MD5 175bde9b0017d4deb63cf55f38173e11 files/2.3.2/glibc-2.3.2-got-fix.diff 752
+MD5 f62924cbf762eb230514a9859522f5e7 files/2.3.2/glibc-2.3.2-nptl-fix-include.patch 247
+MD5 2f6605aae9bc4e538af783c0b2be3a7f files/2.3.2/glibc-2.3.2-decc-compaq.patch 1422
+MD5 4e99301d9cb2865f14d82595f3b7bc0a files/2.3.2/glibc-2.3.2-mips-fix-n32-n64-sysdep-headers.patch 4398
+MD5 a505a59f53c5e068728d0aba44007a10 files/2.3.2/glibc-2.3.2-gcc33-sscanf.patch 671
+MD5 bfb5e3c2c46359a8c426e98fe0e39838 files/2.3.2/glibc-2.3.2-mips-add-n32-n64-sysdep-cancel.patch 6344
+MD5 578d3e5ff83cca218279a7a094fd0dad files/2.3.2/glibc-2.3.2-propolice-guard-functions-v2.patch 5107
+MD5 080146d608b878d517b5cf4c29f0ef08 files/2.3.2/glibc-2.3.2-alpha-crti.patch 378
diff --git a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-frandom-detect.patch b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-frandom-detect.patch
new file mode 100644
index 000000000000..f1dbe7be8a61
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-frandom-detect.patch
@@ -0,0 +1,52 @@
+diff -Naur glibc-2.3.2-orig/config.h.in glibc-2.3.2/config.h.in
+--- glibc-2.3.2-orig/config.h.in 2004-05-11 21:44:51.000000000 -0400
++++ glibc-2.3.2/config.h.in 2004-05-11 22:41:34.903935791 -0400
+@@ -208,6 +208,9 @@
+ /* Defined of libidn is available. */
+ #undef HAVE_LIBIDN
+
++/* Defined if economical random device is available. */
++#undef HAVE_DEV_ERANDOM
++
+ /*
+ */
+
+diff -Naur glibc-2.3.2-orig/configure.in glibc-2.3.2/configure.in
+--- glibc-2.3.2-orig/configure.in 2004-05-11 21:44:51.000000000 -0400
++++ glibc-2.3.2/configure.in 2004-05-11 22:32:57.999546229 -0400
+@@ -289,6 +289,13 @@
+ [])
+ AC_SUBST(all_warnings)
+
++dnl See whether the user wants to disable checking for /dev/erandom
++AC_ARG_ENABLE([dev-erandom],
++ AC_HELP_STRING([--disable-dev-erandom],
++ [disable testing for /dev/erandom]),
++ [try_dev_erandom=$enableval],
++ [try_dev_erandom=yes])
++
+ AC_CANONICAL_HOST
+
+ # The way shlib-versions is used to generate soversions.mk uses a
+@@ -1911,6 +1918,21 @@
+ sizeof_long_double=$ac_cv_sizeof_long_double
+ AC_SUBST(sizeof_long_double)
+
++dnl check whether we have an economical random device
++if test "$try_dev_erandom" = yes ; then
++ AC_CACHE_CHECK(for economical random device, ac_cv_have_dev_random,
++ [if test -r "/dev/erandom" ; then
++ ac_cv_have_dev_erandom=yes; else ac_cv_have_dev_erandom=no; fi])
++ if test "$ac_cv_have_dev_erandom" = yes; then
++ AC_DEFINE(HAVE_DEV_ERANDOM,1,
++ [defined if the system supports an economical random device] )
++ fi
++else
++ AC_MSG_CHECKING(for economical random device)
++ ac_cv_have_dev_erandom=no
++ AC_MSG_RESULT(has been disabled)
++fi
++
+ ### End of automated tests.
+ ### Now run sysdeps configure fragments.
+
diff --git a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-got-fix.diff b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-got-fix.diff
new file mode 100644
index 000000000000..c0edccd8f38d
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-got-fix.diff
@@ -0,0 +1,22 @@
+--- glibc-2.3.2/sysdeps/i386/elf/start.S 2004-02-05 18:14:37.000000000 +0100
++++ glibc-2.3.2/sysdeps/i386/elf/start.S 2004-02-05 23:32:16.000000000 +0100
+@@ -73,16 +73,13 @@ _start:
+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
+
+ /* Push address of our own entry points to .fini and .init. */
+- leal __libc_csu_fini@GOTOFF(%ebx), %eax
+- pushl %eax
+- leal __libc_csu_init@GOTOFF(%ebx), %eax
+- pushl %eax
++ pushl __libc_csu_fini@GOT(%ebx)
++ pushl __libc_csu_init@GOT(%ebx)
+
+ pushl %ecx /* Push second argument: argv. */
+ pushl %esi /* Push first argument: argc. */
+
+- leal BP_SYM (main)@GOTOFF(%ebx), %eax
+- pushl %eax
++ pushl BP_SYM (main)@GOT(%ebx)
+
+ /* Call the user's main function, and exit with its value.
+ But let the libc call main. */
diff --git a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-owl-malloc-unlink-sanity-check.diff b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-owl-malloc-unlink-sanity-check.diff
new file mode 100644
index 000000000000..1525fa005632
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-owl-malloc-unlink-sanity-check.diff
@@ -0,0 +1,29 @@
+--- malloc/malloc.c.orig 2004-01-03 18:36:23.000000000 -0500
++++ malloc/malloc.c 2004-01-03 18:46:16.000000000 -0500
+@@ -311,6 +311,11 @@ extern "C" {
+ #define assert(x) ((void)0)
+ #endif
+
++/* needed for owl-malloc-unlink-sanity-check */
++#include <abort-instr.h>
++#ifndef ABORT_INSTRUCTION
++#define ABORT_INSTRUCTION
++#endif
+
+ /*
+ INTERNAL_SIZE_T is the word-size used for internal bookkeeping
+@@ -1951,6 +1956,14 @@ typedef struct malloc_chunk* mbinptr;
+ #define unlink(P, BK, FD) { \
+ FD = P->fd; \
+ BK = P->bk; \
++ /* owl-malloc-unlink-sanity-check */ \
++ if (FD->bk != P || BK->fd != P) \
++ { \
++ ABORT_INSTRUCTION; \
++ _exit(127); \
++ while (1) \
++ ABORT_INSTRUCTION; \
++ } \
+ FD->bk = BK; \
+ BK->fd = FD; \
+ }
diff --git a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-propolice-guard-functions-v3.patch b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-propolice-guard-functions-v3.patch
new file mode 100644
index 000000000000..c4882afa8f9f
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-propolice-guard-functions-v3.patch
@@ -0,0 +1,43 @@
+diff -Naur glibc-2.3.2-orig/sysdeps/generic/libc-start.c glibc-2.3.2/sysdeps/generic/libc-start.c
+--- glibc-2.3.2-orig/sysdeps/generic/libc-start.c 2004-05-10 01:59:09.000000000 -0400
++++ glibc-2.3.2/sysdeps/generic/libc-start.c 2004-05-10 02:06:00.865611770 -0400
+@@ -188,6 +188,9 @@
+ GLRO(dl_debug_printf) ("\ntransferring control: %s\n\n", argv[0]);
+ #endif
+
++ /* call the __guard_setup to set up the random __guard value */
++ __guard_setup (); /* pappy@gentoo.org (pappy rules) */
++
+ #ifdef HAVE_CLEANUP_JMP_BUF
+ /* Memory for the cancellation buffer. */
+ struct pthread_unwind_buf unwind_buf;
+diff -Naur glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Dist glibc-2.3.2/sysdeps/unix/sysv/linux/Dist
+--- glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Dist 2004-05-10 01:59:10.000000000 -0400
++++ glibc-2.3.2/sysdeps/unix/sysv/linux/Dist 2004-05-10 02:06:54.862038647 -0400
+@@ -1,3 +1,4 @@
++ssp.c
+ bits/initspin.h
+ cmsg_nxthdr.c
+ dl-brk.c
+diff -Naur glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Makefile glibc-2.3.2/sysdeps/unix/sysv/linux/Makefile
+--- glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Makefile 2004-05-10 01:59:10.000000000 -0400
++++ glibc-2.3.2/sysdeps/unix/sysv/linux/Makefile 2004-05-10 02:07:50.709582758 -0400
+@@ -1,5 +1,5 @@
+ ifeq ($(subdir),csu)
+-sysdep_routines += errno-loc
++sysdep_routines += errno-loc ssp
+ endif
+
+ ifeq ($(subdir),assert)
+diff -Naur glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Versions glibc-2.3.2/sysdeps/unix/sysv/linux/Versions
+--- glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Versions 2004-05-10 01:59:10.000000000 -0400
++++ glibc-2.3.2/sysdeps/unix/sysv/linux/Versions 2004-05-10 02:10:30.410716176 -0400
+@@ -108,6 +108,8 @@
+ GLIBC_2.3.2 {
+ # New kernel interfaces.
+ epoll_create; epoll_ctl; epoll_wait;
++ # global objects and functions for the propolice patch in gcc - moved from libgcc by pappy@gentoo.org
++ __guard; __guard_setup; __stack_smash_handler;
+ }
+ GLIBC_2.3.3 {
+ gnu_dev_major; gnu_dev_minor; gnu_dev_makedev;
diff --git a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-pt_pax.diff b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-pt_pax.diff
new file mode 100644
index 000000000000..fdae6f514e62
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-pt_pax.diff
@@ -0,0 +1,29 @@
+--- elf/elf.h.orig 2004-01-26 12:54:15.000000000 -0500
++++ elf/elf.h 2004-01-26 12:53:23.000000000 -0500
+@@ -568,6 +568,7 @@
+ #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
+ #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
+ #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
++#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */
+ #define PT_LOSUNW 0x6ffffffa
+ #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
+ #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
+@@ -581,6 +582,18 @@
+ #define PF_X (1 << 0) /* Segment is executable */
+ #define PF_W (1 << 1) /* Segment is writable */
+ #define PF_R (1 << 2) /* Segment is readable */
++#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */
++#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */
++#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */
++#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */
++#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */
++#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */
++#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */
++#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */
++#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */
++#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */
++#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */
++#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */
+ #define PF_MASKOS 0x0ff00000 /* OS-specific */
+ #define PF_MASKPROC 0xf0000000 /* Processor-specific */
+
diff --git a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-signal-ssp.diff b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-signal-ssp.diff
new file mode 100644
index 000000000000..d35b1aa4cb13
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-signal-ssp.diff
@@ -0,0 +1,40 @@
+--- ./sysdeps/unix/sysv/linux/ssp.c.orig 2004-01-23 19:54:19.000000000 -0500
++++ ./sysdeps/unix/sysv/linux/ssp.c 2004-01-23 19:56:34.000000000 -0500
+@@ -52,8 +52,8 @@
+ {
+ sigset_t mask;
+ sigfillset(&mask);
+- sigdelset(&mask, SIGABRT); /* Block all signal handlers */
+- sigprocmask(SIG_BLOCK, &mask, NULL); /* except SIGABRT */
++ sigdelset(&mask, SIGSEGV); /* Block all signal handlers */
++ sigprocmask(SIG_BLOCK, &mask, NULL); /* except SIGSEGV */
+ }
+ #endif
+
+@@ -65,6 +65,7 @@
+ if (bufsz>len) {strncat(buf, func, bufsz-len-1); len = strlen(buf);}
+ /* print error message */
+ write (STDERR_FILENO, buf+3, len-3);
++ write (STDERR_FILENO, "()\n", 3);
+ #if defined(HAVE_SYSLOG)
+ if ((LogFile = socket(AF_UNIX, SOCK_DGRAM, 0)) != -1) {
+
+@@ -81,15 +82,15 @@
+ #endif
+
+ #ifdef _POSIX_SOURCE
+- { /* Make sure the default handler is associated with SIGABRT */
++ { /* Make sure the default handler is associated with SIGSEGV */
+ struct sigaction sa;
+
+ memset(&sa, 0, sizeof(struct sigaction));
+ sigfillset(&sa.sa_mask); /* Block all signals */
+ sa.sa_flags = 0;
+ sa.sa_handler = SIG_DFL;
+- sigaction(SIGABRT, &sa, NULL);
+- (void)kill(getpid(), SIGABRT);
++ sigaction(SIGSEGV, &sa, NULL);
++ (void)kill(getpid(), SIGSEGV);
+ }
+ #endif
+ _exit(127);
diff --git a/sys-libs/glibc/files/2.3.2/ssp.c b/sys-libs/glibc/files/2.3.2/ssp.c
new file mode 100644
index 000000000000..ecaf24c068b0
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.2/ssp.c
@@ -0,0 +1,160 @@
+/*
+ * Distributed under the terms of the GNU General Public License v2
+ * $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/2.3.2/ssp.c,v 1.1 2004/06/05 15:54:29 tseng Exp $
+ *
+ * This is a modified version of Hiroaki Etoh's stack smashing routines
+ * implemented for glibc.
+ *
+ * The following people have contributed input to this code.
+ * 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>
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <sys/syslog.h>
+#include <sys/time.h>
+#include <sys/sysctl.h>
+
+#ifndef _PATH_LOG
+#define _PATH_LOG "/dev/log"
+#endif
+
+#ifdef __PROPOLICE_BLOCK_SEGV__
+#define SSP_SIGTYPE SIGSEGV
+#elif __PROPOLICE_BLOCK_KILL__
+#define SSP_SIGTYPE SIGKILL
+#else
+#define SSP_SIGTYPE SIGABRT
+#endif
+
+unsigned long __guard = 0UL;
+
+void
+__guard_setup (void)
+{
+ size_t size;
+#ifdef HAVE_DEV_ERANDOM
+ int mib[3];
+#endif
+
+ if (__guard != 0UL)
+ return;
+
+#ifndef __SSP_QUICK_CANARY__
+#ifdef HAVE_DEV_ERANDOM
+ /* Random is another depth in Linux, hence an array of 3. */
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_RANDOM;
+ mib[2] = RANDOM_ERANDOM;
+
+ size = sizeof (unsigned long);
+ if (__sysctl (mib, 3, &__guard, &size, NULL, 0) != (-1))
+ if (__guard != 0UL)
+ return;
+#endif
+ /*
+ * Attempt to open kernel pseudo random device if one exists before
+ * opening urandom to avoid system entropy depletion.
+ */
+ {
+ int fd;
+#ifdef HAVE_DEV_ERANDOM
+ if ((fd = open ("/dev/erandom", O_RDONLY)) == (-1))
+#endif
+ fd = open ("/dev/urandom", O_RDONLY);
+ if (fd != (-1))
+ {
+ size = read (fd, (char *) &__guard, sizeof (__guard));
+ close (fd);
+ if (size == sizeof (__guard))
+ return;
+ }
+ }
+#endif
+
+ /* If sysctl was unsuccessful, use the "terminator canary". */
+ __guard = 0xFF0A0D00UL;
+
+ {
+ /* Everything failed? Or we are using a weakened model of the
+ * terminator canary */
+ struct timeval tv;
+
+ gettimeofday (&tv, NULL);
+ __guard ^= tv.tv_usec ^ tv.tv_sec;
+ }
+}
+
+void
+__stack_smash_handler (char func[], int damaged)
+{
+ struct sockaddr_un sock; /* AF_UNIX address of local logger */
+ struct sigaction sa;
+ const char message[] = ": stack smashing attack in function ";
+ int bufsz, len, log;
+ char buf[512];
+ extern char *__progname;
+
+ sigset_t mask;
+ sigfillset (&mask);
+
+ sigdelset (&mask, SSP_SIGTYPE); /* Block all signal handlers */
+ sigprocmask (SIG_BLOCK, &mask, NULL); /* except SIGABRT */
+
+ bufsz = sizeof (buf);
+ strcpy (buf, "<2>");
+ len = 3;
+
+ strncat (buf, __progname, sizeof (buf) - 4);
+ len = strlen (buf);
+
+ if (bufsz > len)
+ {
+ strncat (buf, message, bufsz - len - 1);
+ len = strlen (buf);
+ }
+ if (bufsz > len)
+ {
+ strncat (buf, func, bufsz - len - 1);
+ len = strlen (buf);
+ }
+
+ /* print error message */
+ write (STDERR_FILENO, buf + 3, len - 3);
+ write (STDERR_FILENO, "()\n", 3);
+ if ((log = socket (AF_UNIX, SOCK_DGRAM, 0)) != -1)
+ {
+ /* Send "found" message to the "/dev/log" path */
+ sock.sun_family = AF_UNIX;
+ (void) strncpy (sock.sun_path, _PATH_LOG, sizeof (sock.sun_path) - 1);
+ sock.sun_path[sizeof (sock.sun_path) - 1] = '\0';
+ sendto (log, buf, len, 0, (struct sockaddr *) &sock, sizeof (sock));
+ }
+
+ /* Make sure the default handler is associated with the our signal handler */
+
+ memset (&sa, 0, sizeof (struct sigaction));
+ sigfillset (&sa.sa_mask); /* Block all signals */
+ sa.sa_flags = 0;
+ sa.sa_handler = SIG_DFL;
+ sigaction (SSP_SIGTYPE, &sa, NULL);
+ (void) kill (getpid (), SSP_SIGTYPE);
+ _exit (127);
+}
diff --git a/sys-libs/glibc/files/digest-glibc-2.3.2-r11 b/sys-libs/glibc/files/digest-glibc-2.3.2-r11
new file mode 100644
index 000000000000..07e3a8d0f559
--- /dev/null
+++ b/sys-libs/glibc/files/digest-glibc-2.3.2-r11
@@ -0,0 +1,4 @@
+MD5 ede969aad568f48083e413384f20753c glibc-2.3.2.tar.bz2 13377170
+MD5 894b8969cfbdf787c73e139782167607 glibc-linuxthreads-2.3.2.tar.bz2 216310
+MD5 29fe849eca3e5aa2a2eb9e4055d93748 glibc-2.3.2-branch-update-20031115.patch.bz2 1692480
+MD5 c7c27c0821245d98a0568a475c08f4e9 glibc-2.3.2-hppa-patches-p1.tar.bz2 18793
diff --git a/sys-libs/glibc/glibc-2.3.2-r11.ebuild b/sys-libs/glibc/glibc-2.3.2-r11.ebuild
new file mode 100644
index 000000000000..85ea2501f070
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.3.2-r11.ebuild
@@ -0,0 +1,671 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.2-r11.ebuild,v 1.1 2004/06/05 15:54:29 tseng Exp $
+
+IUSE="nls pic build nptl erandom"
+
+inherit eutils flag-o-matic gcc
+
+filter-flags -fomit-frame-pointer -malign-double
+filter-ldflags -pie
+
+# Recently there has been a lot of stability problem in Gentoo-land. Many
+# things can be the cause to this, but I believe that it is due to gcc3
+# still having issues with optimizations, or with it not filtering bad
+# combinations (protecting the user maybe from himeself) yet.
+#
+# This can clearly be seen in large builds like glibc, where too aggressive
+# CFLAGS cause the tests to fail miserbly.
+#
+# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion
+# knows what he is talking about:
+#
+# People really shouldn't force code-specific options on... It's a
+# bad idea. The -march options aren't just to look pretty. They enable
+# options that are sensible (and include sse,mmx,3dnow when apropriate).
+#
+# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If
+# you do not like it, comment it, but do not bugreport if you run into
+# problems.
+#
+# <azarah@gentoo.org> (13 Oct 2002)
+strip-flags
+
+# Lock glibc at -O2 -- linuxthreads needs it and we want to be conservative here
+replace-flags -O? -O2
+export LDFLAGS="${LDFLAGS//-Wl,--relax}"
+
+BRANCH_UPDATE="20031115"
+
+# Minimum kernel version for --enable-kernel
+export MIN_KV="2.4.1"
+# Minimum kernel version for enabling TLS and NPTL ...
+# NOTE: do not change this if you do not know what
+# you are doing !
+export MIN_NPTL_KV="2.6.0"
+
+MY_PV="${PV/_}"
+S="${WORKDIR}/${P%_*}"
+DESCRIPTION="GNU libc6 (also called glibc2) C library"
+SRC_URI="http://ftp.gnu.org/gnu/glibc/glibc-${MY_PV}.tar.bz2
+ ftp://sources.redhat.com/pub/glibc/snapshots/glibc-${MY_PV}.tar.bz2
+ http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-${MY_PV}.tar.bz2
+ ftp://sources.redhat.com/pub/glibc/snapshots/glibc-linuxthreads-${MY_PV}.tar.bz2
+ mirror://gentoo/${P}-branch-update-${BRANCH_UPDATE}.patch.bz2
+ hppa? ( mirror://gentoo/${P}-hppa-patches-p1.tar.bz2 )"
+HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
+
+KEYWORDS="-*"
+
+SLOT="2.2"
+LICENSE="LGPL-2"
+
+# We need new cleanup attribute support from gcc for NPTL among things ...
+DEPEND=">=sys-devel/gcc-3.2.3-r1
+ x86? ( nptl? ( >=sys-devel/gcc-3.3.1-r1 ) )
+ >=sys-devel/binutils-2.14.90.0.6-r1
+ virtual/os-headers
+ nls? ( sys-devel/gettext )"
+RDEPEND="virtual/os-headers
+ sys-apps/baselayout
+ nls? ( sys-devel/gettext )"
+
+PDEPEND="ppc? ( >=sys-kernel/linux-headers-2.4.22 )"
+
+PROVIDE="virtual/glibc"
+
+
+# Try to get a kernel source tree with version equal or greater
+# than $1. We basically just try a few default locations. The
+# version need to be that which KV_to_int() returns ...
+get_KHV() {
+ local headers=
+
+ [ -z "$1" ] && return 1
+
+ # - First check if linux-headers are installed (or symlink
+ # to current kernel ...)
+ # - Ok, do we have access to the current kernel's headers ?
+ # - Last option ... maybe its a weird bootstrap with /lib
+ # binded to the chroot ...
+
+ # We do not really support more than 2 arguments ...
+ if [ -n "$2" ]
+ then
+ headers="$2"
+ else
+ # We try to find the current kernel's headers first,
+ # as we would rather build against linux 2.5 headers ...
+ headers="/lib/modules/`uname -r`/build/include \
+ ${ROOT}/lib/modules/`uname -r`/build/include \
+ /usr/src/linux/include \
+ ${ROOT}/usr/src/linux/include \
+ ${ROOT}/usr/include"
+ fi
+
+ for x in ${headers}
+ do
+ local header="${x}/linux/version.h"
+
+ if [ -f ${header} ]
+ then
+
+ local version="`grep 'LINUX_VERSION_CODE' ${header} | \
+ sed -e 's:^.*LINUX_VERSION_CODE[[:space:]]*::'`"
+
+ if [ "${version}" -ge "$1" ]
+ then
+ echo "${x}"
+
+ return 0
+ fi
+ fi
+ done
+
+ return 1
+}
+
+use_nptl() {
+ # Enable NPTL support if:
+ # - We have 'nptl' in USE
+ # - We have linux-2.5 or later kernel (should prob check for 2.4.20 ...)
+ if [ -n "`use nptl`" -a "`get_KV`" -ge "`KV_to_int ${MIN_NPTL_KV}`" ]
+ then
+ # Enable NPTL support if:
+ # - We have 'x86' in USE and:
+ # - a CHOST of "i486-pc-linux-gnu"
+ # - a CHOST of "i586-pc-linux-gnu"
+ # - a CHOST of "i686-pc-linux-gnu"
+ # - Or we have 'alpha' in USE
+ # - Or we have 'amd64' in USE
+ # - Or we have 'mips' in USE
+ # - Or we have 'ppc' in USE
+ case ${ARCH} in
+ "x86")
+ if [ "${CHOST/-*}" = "i486" -o \
+ "${CHOST/-*}" = "i586" -o \
+ "${CHOST/-*}" = "i686" ]
+ then
+ return 0
+ fi
+ ;;
+ "alpha"|"amd64"|"mips"|"ppc"|"sparc")
+ return 0
+ ;;
+ *)
+ return 1
+ ;;
+ esac
+ fi
+
+ return 1
+}
+
+pkg_setup() {
+ # We need gcc 3.2 or later ...
+ if [ "`gcc-major-version`" -ne "3" -o "`gcc-minor-version`" -lt "2" ]
+ then
+ echo
+ eerror "As of glibc-2.3, gcc-3.2 or later is needed"
+ eerror "for the build to succeed."
+ die "GCC too old"
+ fi
+
+ echo
+
+ if use_nptl
+ then
+ # The use_nptl should have already taken care of kernel version,
+ # arch and CHOST, so now just check if we can find suitable kernel
+ # source tree or headers ....
+ einfon "Checking for sufficient version kernel headers ... "
+ if ! get_KHV "`KV_to_int ${MIN_NPTL_KV}`" &> /dev/null
+ then
+ echo "no"
+ echo
+ eerror "Could not find a kernel source tree or headers with"
+ eerror "version ${MIN_NPTL_KV} or later! Please correct this"
+ eerror "and try again."
+ die "Insufficient kernel headers present!"
+ else
+ echo "yes"
+ fi
+ fi
+
+ if [ "$(KV_to_int $(uname -r))" -gt "`KV_to_int '2.5.68'`" ]
+ then
+ local KERNEL_HEADERS="$(get_KHV "`KV_to_int ${MIN_NPTL_KV}`")"
+
+ einfon "Checking kernel headers for broken sysctl.h ... "
+ if ! gcc -I"${KERNEL_HEADERS}" \
+ -c ${FILESDIR}/test-sysctl_h.c -o ${T}/test1.o &> /dev/null
+ then
+ echo "yes"
+ echo
+ eerror "Your version of:"
+ echo
+ eerror " ${KERNEL_HEADERS}/linux/sysctl.h"
+ echo
+ eerror "is broken (from a user space perspective). Please apply"
+ eerror "the following patch:"
+ echo
+ eerror "*******************************************************"
+ cat ${FILESDIR}/fix-sysctl_h.patch
+ eerror "*******************************************************"
+ die "Broken linux/sysctl.h header included in kernel sources!"
+ else
+ echo "no"
+ fi
+ fi
+
+ if use_nptl
+ then
+ einfon "Checking gcc for __thread support ... "
+ if ! gcc -c ${FILESDIR}/test-__thread.c -o ${T}/test2.o &> /dev/null
+ then
+ echo "no"
+ echo
+ eerror "Could not find a gcc that supports the __thread directive!"
+ eerror "please update to gcc-3.2.2-r1 or later, and try again."
+ die "No __thread support in gcc!"
+ else
+ echo "yes"
+ fi
+
+ elif use nptl &> /dev/null
+ then
+ echo
+ # Just tell the user not to expect too much ...
+ ewarn "You have \"nptl\" in your USE, but your kernel version or"
+ ewarn "architecture does not support it!"
+ fi
+
+ echo
+}
+
+src_unpack() {
+
+ unpack glibc-${MY_PV}.tar.bz2
+
+ # Extract pre-made man pages. Otherwise we need perl, which is a no-no.
+ mkdir -p ${S}/man; cd ${S}/man
+ use_nptl || tar xjf ${FILESDIR}/glibc-manpages-${MY_PV}.tar.bz2
+
+ cd ${S}
+ # Extract our threads package ...
+ if (! use_nptl) && [ -z "${BRANCH_UPDATE}" ]
+ then
+ unpack glibc-linuxthreads-${MY_PV}.tar.bz2
+ fi
+
+ if [ -n "${BRANCH_UPDATE}" ]
+ then
+ epatch ${DISTDIR}/${P}-branch-update-${BRANCH_UPDATE}.patch.bz2
+ fi
+
+ if use_nptl
+ then
+ epatch ${FILESDIR}/2.3.2/${P}-redhat-nptl-fixes.patch
+ else
+ epatch ${FILESDIR}/2.3.2/${P}-redhat-linuxthreads-fixes.patch
+ fi
+
+ # To circumvent problems with propolice __guard and
+ # __guard_setup__stack_smash_handler
+ #
+ # http://www.gentoo.org/proj/en/hardened/etdyn-ssp.xml
+ if [ "${ARCH}" != "hppa" -a "${ARCH}" != "hppa64" ]
+ then
+ cd ${S}
+ epatch ${FILESDIR}/2.3.2/${P}-propolice-guard-functions-v3.patch
+ cp ${FILESDIR}/2.3.2/ssp.c sysdeps/unix/sysv/linux
+ fi
+
+ # patch this regardless of architecture, although it's ssp-related
+ cd ${S}
+ epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-frandom-detect.patch
+
+ # <hardened@gentoo.org> backport some patches from 2.3.3
+ epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-got-fix.diff
+ epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-owl-malloc-unlink-sanity-check.diff
+
+ # With latest versions of glibc, a lot of apps failed on a PaX enabled
+ # system with:
+ #
+ # cannot enable executable stack as shared object requires: Permission denied
+ #
+ # This is due to PaX 'exec-protecting' the stack, and ld.so then trying
+ # to make the stack executable due to some libraries not containing the
+ # PT_GNU_STACK section. Bug #32960. <azarah@gentoo.org> (12 Nov 2003).
+ epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-dl_execstack-PaX-support.patch
+
+ # This next patch fixes a test that will timeout due to ReiserFS' slow handling of sparse files
+# cd ${S}/io; epatch ${FILESDIR}/glibc-2.2.2-test-lfs-timeout.patch
+
+ # This add back glibc 2.2 compadibility. See bug #8766 and #9586 for more info,
+ # and also:
+ #
+ # http://lists.debian.org/debian-glibc/2002/debian-glibc-200210/msg00093.html
+ #
+ # We should think about remoing it in the future after things have settled.
+ #
+ # Thanks to Jan Gutter <jangutter@tuks.co.za> for reporting it.
+ #
+ # <azarah@gentoo.org> (26 Oct 2002).
+ cd ${S}; epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-ctype-compat-v3.patch
+
+ # One more compat issue which breaks sun-jdk-1.3.1. See bug #8766 for more
+ # info, and also:
+ #
+ # http://sources.redhat.com/ml/libc-alpha/2002-04/msg00143.html
+ #
+ # Thanks to Jan Gutter <jangutter@tuks.co.za> for reporting it.
+ #
+ # <azarah@gentoo.org> (30 Oct 2002).
+ cd ${S}; epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-libc_wait-compat.patch
+
+ # One more compat issue ... libc_stack_end is missing from ld.so.
+ # Got this one from diffing redhat glibc tarball .. would help if
+ # they used patches and not modified tarball ...
+ #
+ # <azarah@gentoo.org> (7 Nov 2002).
+# cd ${S}; epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-stack_end-compat.patch
+
+ # The mathinline.h header omits the middle term of a ?: expression. This
+ # is a gcc extension, but since the ISO standard forbids it, it's a
+ # GLIBC bug (bug #27142). See also:
+ #
+ # http://bugs.gentoo.org/show_bug.cgi?id=27142
+ #
+ cd ${S}; epatch ${FILESDIR}/${PV}/${P}-fix-omitted-operand-in-mathinline_h.patch
+
+ # We do not want name_insert() in iconvconfig.c to be defined inside
+ # write_output() as it causes issues with PaX.
+ cd ${S}; epatch ${FILESDIR}/${PV}/${P}-iconvconfig-name_insert.patch
+
+ # Fix broken reverse resolving for IPv6 addresses, bug #42492.
+ cd ${S}; epatch ${FILESDIR}/${PV}/${P}-ipv6-bytestring-fix.patch
+
+ # A few patches only for the MIPS platform. Descriptions of what they
+ # do can be found in the patch headers.
+ # <tuxus@gentoo.org> thx <dragon@gentoo.org> (11 Jan 2003)
+ # <kumba@gentoo.org> remove tst-rndseek-mips & ulps-mips patches
+ if [ "${ARCH}" = "mips" ]
+ then
+ cd ${S}
+ epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-fpu-cw-mips.patch
+ epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-libgcc-compat-mips.patch
+ epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-librt-mips.patch
+ epatch ${FILESDIR}/2.3.2/${P}-mips-add-n32-n64-sysdep-cancel.patch
+ epatch ${FILESDIR}/2.3.2/${P}-mips-configure-for-n64-symver.patch
+ epatch ${FILESDIR}/2.3.2/${P}-mips-pread-linux2.5.patch
+ epatch ${FILESDIR}/2.3.2/${P}-mips-fix-nested-entend-pairs.patch
+ fi
+
+ if [ "${ARCH}" = "alpha" ]
+ then
+ cd ${S}
+ # Fix compatability with compaq compilers by ifdef'ing out some
+ # 2.3.2 additions.
+ # <taviso@gentoo.org> (14 Jun 2003).
+ epatch ${FILESDIR}/2.3.2/${P}-decc-compaq.patch
+
+ # Fix compilation with >=gcc-3.2.3 (01 Nov 2003 agriffis)
+ epatch ${FILESDIR}/2.3.2/${P}-alpha-pwrite.patch
+ epatch ${FILESDIR}/2.3.2/${P}-alpha-crti.patch
+ fi
+
+ if [ "${ARCH}" = "amd64" ]
+ then
+ cd ${S}; epatch ${FILESDIR}/2.3.2/${P}-amd64-nomultilib.patch
+ fi
+
+ if [ "${ARCH}" = "ia64" ]
+ then
+ # The basically problem is glibc doesn't store information about
+ # what the kernel interface is so that it can't efficiently set up
+ # parameters for system calls. This patch from H.J. Lu fixes it:
+ #
+ # http://sources.redhat.com/ml/libc-alpha/2003-09/msg00165.html
+ #
+ cd ${S}; epatch ${FILESDIR}/2.3.2/${P}-ia64-LOAD_ARGS-fixup.patch
+ fi
+
+ if [ "${ARCH}" = "hppa" ]
+ then
+ cd ${WORKDIR}
+ unpack ${P}-hppa-patches-p1.tar.bz2
+ cd ${S}
+ EPATCH_EXCLUDE="010* 020* 030* 040* 050* 055*"
+ for i in ${EPATCH_EXCLUDE}
+ do
+ rm -f ${WORKDIR}/${P}-hppa-patches/$i
+ done
+ for i in ${WORKDIR}/${P}-hppa-patches/*
+ do
+ einfo Applying `basename $i`...
+ patch -p1 < $i
+ done
+ einfo Applying glibc23-07-hppa-atomicity.dpatch...
+ patch -p 1 < ${FILESDIR}/2.3.1/glibc23-07-hppa-atomicity.dpatch
+ fi
+
+ if [ "${ARCH}" = "s390" ]
+ then
+ # The deprecated ustat.h causes problems on s390
+ #
+ # http://sources.redhat.com/ml/bug-glibc/2003-08/msg00020.html
+ #
+ # Closes Bug 47415
+ cd ${S}/sysdeps/unix/sysv/linux; epatch ${FILESDIR}/2.3.2/${P}-s390-deprecated-ustat-fixup.patch
+ fi
+
+ if [ "${ARCH}" == "arm" ]
+ then
+ cd ${S}
+ # sjlj exceptions causes undefined frame variables (ported from cvs)
+ epatch ${FILESDIR}/2.3.2/${P}-framestate-USING_SJLJ_EXCEPTIONS.patch
+ # BUS_ISA is needed in ioperm.c but is defined in linux/input.h
+ epatch ${FILESDIR}/2.3.2/${P}-arm-bus-defines.patch
+ # armformat fixes the linker script creation (taken from netwinder.org glibc rpm)
+ epatch ${FILESDIR}/2.3.2/${P}-armformat.patch
+ fi
+
+ # Fix permissions on some of the scripts
+ chmod u+x ${S}/scripts/*.sh
+}
+
+setup_flags() {
+ # -freorder-blocks for all but ia64 s390 s390x
+ use ppc || append-flags "-freorder-blocks"
+
+ # Sparc/Sparc64 support
+ if use sparc
+ then
+
+ # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
+ replace-flags "-fcall-used-g7" ""
+ append-flags "-fcall-used-g6"
+
+ # Sparc64 Only support...
+ if [ "${PROFILE_ARCH}" = "sparc64" ]
+ then
+
+ # Get rid of -mcpu options, the CHOST will fix this up
+ replace-flags "-mcpu=ultrasparc" ""
+ replace-flags "-mcpu=v9" ""
+
+ # Get rid of flags known to fail
+ replace-flags "-mvis" ""
+
+ # Setup the CHOST properly to insure "sparcv9"
+ # This passes -mcpu=ultrasparc -Wa,-Av9a to the compiler
+ [ "${CHOST}" == "sparc-unknown-linux-gnu" ] && \
+ export CHOST="sparcv9-unknown-linux-gnu"
+ fi
+ fi
+}
+
+src_compile() {
+ local myconf=
+ local myconf_nptl=
+
+ setup_flags
+
+ # These should not be set, else the
+ # zoneinfo do not always get installed ...
+ unset LANGUAGE LANG LC_ALL
+
+ use nls || myconf="${myconf} --disable-nls"
+
+ use erandom || myconf="${myconf} --disable-dev-erandom"
+
+ if use_nptl
+ then
+ local kernelheaders="$(get_KHV "`KV_to_int ${MIN_NPTL_KV}`")"
+
+ # NTPL and Thread Local Storage support.
+ myconf="${myconf} --with-tls --with-__thread \
+ --enable-add-ons=nptl \
+ --enable-kernel=${MIN_NPTL_KV} \
+ --with-headers=${kernelheaders}"
+ else
+ myconf="${myconf} --without-__thread \
+ --enable-add-ons=linuxthreads"
+
+ # If we build for the build system we use the kernel headers from the target
+ # We also now set it without "build" as well, else it might use the
+ # current kernel's headers, which might just fail (the linux-headers
+ # package is usually well tested...)
+# ( use build || use sparc ) \
+# && myconf="${myconf} --with-headers=${ROOT}usr/include"
+ myconf="${myconf} --with-headers=${ROOT}usr/include"
+
+ # If kernel version and headers in ${ROOT}/usr/include are ok,
+ # then enable --enable-kernel=${MIN_KV} ...
+ if [ "`get_KV`" -ge "`KV_to_int ${MIN_KV}`" -a \
+ -n "$(get_KHV "`KV_to_int ${MIN_KV}`" "${ROOT}/usr/include")" ]
+ then
+ myconf="${myconf} --enable-kernel=${MIN_KV}"
+ else
+ myconf="${myconf} --enable-kernel=2.2.5"
+ fi
+ fi
+
+ einfo "Configuring GLIBC..."
+ rm -rf ${S}/buildhere
+ mkdir -p ${S}/buildhere
+ cd ${S}/buildhere
+ ../configure --build=${CHOST} \
+ --host=${CHOST} \
+ --with-gd=no \
+ --without-cvs \
+ --disable-profile \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --libexecdir=/usr/lib/misc \
+ ${myconf} || die
+
+ einfo "Building GLIBC..."
+ cd ${S}/buildhere
+ make PARALLELMFLAGS="${MAKEOPTS}" || die
+# einfo "Doing GLIBC checks..."
+# make check
+}
+
+src_install() {
+ local buildtarget="buildhere"
+
+ setup_flags
+
+ # These should not be set, else the
+ # zoneinfo do not always get installed ...
+ unset LANGUAGE LANG LC_ALL
+
+ einfo "Installing GLIBC..."
+ make PARALLELMFLAGS="${MAKEOPTS}" \
+ install_root=${D} \
+ install -C ${buildtarget} || die
+
+ # If librt.so is a symlink, change it into linker script (Redhat)
+ if [ -L "${D}/usr/lib/librt.so" -a "${LIBRT_LINKERSCRIPT}" = "yes" ]
+ then
+ local LIBRTSO="`cd ${D}/lib; echo librt.so.*`"
+ local LIBPTHREADSO="`cd ${D}/lib; echo libpthread.so.*`"
+
+ rm -f ${D}/usr/lib/librt.so
+ cat > ${D}/usr/lib/librt.so <<EOF
+/* GNU ld script
+ librt.so.1 needs libpthread.so.0 to come before libc.so.6*
+ in search scope. */
+EOF
+ grep "OUTPUT_FORMAT" ${D}/usr/lib/libc.so >> ${D}/usr/lib/librt.so
+ echo "GROUP ( /lib/${LIBPTHREADSO} /lib/${LIBRTSO} )" \
+ >> ${D}/usr/lib/librt.so
+
+ for x in ${D}/usr/lib/librt.so.[1-9]
+ do
+ [ -L "${x}" ] && rm -f ${x}
+ done
+ fi
+
+ if [ -z "`use build`" ]
+ then
+ einfo "Installing Info pages..."
+ make PARALLELMFLAGS="${MAKEOPTS}" \
+ install_root=${D} \
+ info -C ${buildtarget} || die
+
+ einfo "Installing Locale data..."
+ make PARALLELMFLAGS="${MAKEOPTS}" \
+ install_root=${D} \
+ localedata/install-locales -C ${buildtarget} || die
+
+ # Compatibility hack: this locale has vanished from glibc,
+ # but some other programs are still using it.
+ keepdir /usr/lib/locale/ru_RU/LC_MESSAGES
+
+ einfo "Installing man pages and docs..."
+ # Install linuxthreads man pages
+ use_nptl || {
+ dodir /usr/share/man/man3
+ doman ${S}/man/*.3thr
+ }
+
+ # Install nscd config file
+ insinto /etc
+ doins ${FILESDIR}/nscd.conf
+
+ dodoc BUGS ChangeLog* CONFORMANCE COPYING* FAQ INTERFACE \
+ NEWS NOTES PROJECTS README*
+ else
+ rm -rf ${D}/usr/share ${D}/usr/lib/gconv
+
+ einfo "Installing Timezone data..."
+ make PARALLELMFLAGS="${MAKEOPTS}" \
+ install_root=${D} \
+ timezone/install-others -C ${buildtarget} || die
+ fi
+
+ if [ "`use pic`" ]
+ then
+ find ${S}/${buildtarget}/ -name "soinit.os" -exec cp {} ${D}/lib/soinit.o \;
+ find ${S}/${buildtarget}/ -name "sofini.os" -exec cp {} ${D}/lib/sofini.o \;
+ find ${S}/${buildtarget}/ -name "*_pic.a" -exec cp {} ${D}/lib \;
+ find ${S}/${buildtarget}/ -name "*.map" -exec cp {} ${D}/lib \;
+ for i in ${D}/lib/*.map
+ do
+ mv ${i} ${i%.map}_pic.map
+ done
+ fi
+
+ # Is this next line actually needed or does the makefile get it right?
+ # It previously has 0755 perms which was killing things.
+ fperms 4755 /usr/lib/misc/pt_chown
+
+ # Currently libraries in /usr/lib/gconv do not get loaded if not
+ # in search path ...
+# insinto /etc/env.d
+# doins ${FILESDIR}/03glibc
+
+ rm -f ${D}/etc/ld.so.cache
+
+ # Prevent overwriting of the /etc/localtime symlink. We'll handle the
+ # creation of the "factory" symlink in pkg_postinst().
+ rm -f ${D}/etc/localtime
+
+ # Some things want this, notably ash.
+ dosym /usr/lib/libbsd-compat.a /usr/lib/libbsd.a
+}
+
+pkg_postinst() {
+ # Correct me if I am wrong here, but my /etc/localtime is a file
+ # created by zic ....
+ # I am thinking that it should only be recreated if no /etc/localtime
+ # exists, or if it is an invalid symlink.
+ #
+ # For invalid symlink:
+ # -f && -e will fail
+ # -L will succeed
+ #
+ if [ ! -e ${ROOT}/etc/localtime ]
+ then
+ echo "Please remember to set your timezone using the zic command."
+ rm -f ${ROOT}/etc/localtime
+ ln -s ../usr/share/zoneinfo/Factory ${ROOT}/etc/localtime
+ fi
+
+ if [ -x ${ROOT}/usr/sbin/iconvconfig ]
+ then
+ # Generate fastloading iconv module configuration file.
+ ${ROOT}/usr/sbin/iconvconfig --prefix=${ROOT}
+ fi
+
+ # Reload init ...
+ if [ "${ROOT}" = "/" ]
+ then
+ /sbin/init U &> /dev/null
+ fi
+}
+