summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Tilley <lv@gentoo.org>2004-05-12 18:14:23 +0000
committerTravis Tilley <lv@gentoo.org>2004-05-12 18:14:23 +0000
commitc0d2ae07de72936a1994efd1169c531eb4a2b512 (patch)
tree9e667c60b15d83ef4a995dcac61a621f38334b28 /sys-devel
parentstable on x86 (Manifest recommit) (diff)
downloadgentoo-2-c0d2ae07de72936a1994efd1169c531eb4a2b512.tar.gz
gentoo-2-c0d2ae07de72936a1994efd1169c531eb4a2b512.tar.bz2
gentoo-2-c0d2ae07de72936a1994efd1169c531eb4a2b512.zip
added SSP support and updated the piessp patches (mostly) to 8.7.4. note that the piessp patches arent yet as complete as the 3.3.3 version on archs other than x86 and amd64.
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc/ChangeLog10
-rw-r--r--sys-devel/gcc/Manifest177
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.4.04
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.4.0-r25
-rw-r--r--sys-devel/gcc/gcc-3.4.0-r2.ebuild (renamed from sys-devel/gcc/gcc-3.4.0.ebuild)294
5 files changed, 329 insertions, 161 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog
index 5ed7bbb67e8a..7a6683aa3664 100644
--- a/sys-devel/gcc/ChangeLog
+++ b/sys-devel/gcc/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-devel/gcc
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.241 2004/05/08 23:09:05 solar Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.242 2004/05/12 18:14:21 lv Exp $
+
+*gcc-3.4.0-r2 (12 May 2004)
+
+ 12 May 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.0-r2.ebuild,
+ -gcc-3.4.0.ebuild:
+ added SSP support and updated the piessp patches (mostly) to 8.7.4. note that
+ the piessp patches arent yet as complete as the 3.3.3 version on archs other
+ than x86 and amd64.
08 May 2004; <solar@gentoo.org> gcc-3.3.3-r4.ebuild:
patch updates
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 3485a799dc80..15cd0bad0d64 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,50 +1,47 @@
-MD5 a87a051474f6801136acaaac0f6d01ca ChangeLog 49545
-MD5 4bc0ae0e0e19f54dc1ea7a075745b063 gcc-2.95.3-r7.ebuild 5396
-MD5 c7e55fc7f4bfd637f45786c0c5fbb365 gcc-2.95.3-r8.ebuild 9095
-MD5 b6a375116a668edbe10b2ac2e1f9fc6d gcc-3.0.4-r6.ebuild 8577
-MD5 68da62e17a31058a92822721b553eca9 gcc-3.1.1-r1.ebuild 9424
-MD5 ca6cec20814fc6a27d5b1394ef02c867 gcc-3.2.1-r7.ebuild 14773
-MD5 8a2d0081e6c0f75912849fbb37f3c531 gcc-3.2.2-r2.ebuild 15862
-MD5 8c9407ec40e58c4ebeabe5ee6e93a52a gcc-3.2.2.ebuild 16096
+MD5 6953c04e837c49f5f9e5f558fbbf8fbe gcc-3.3.2-r3.ebuild 20487
+MD5 3c0d91ac99e191e0098f14b83f28ed44 gcc-3.3.1-r1.ebuild 16128
MD5 f4b8a28609fe4d914076c91d9840c629 gcc-3.2.3-r4.ebuild 20112
MD5 3a2e4f5d5f2d94e5ee2a399ab3b0f32e gcc-3.3-r1.ebuild 16506
-MD5 3c0d91ac99e191e0098f14b83f28ed44 gcc-3.3.1-r1.ebuild 16128
-MD5 bd281971d3658dd49f02f647b97c4eeb gcc-3.3.1-r5.ebuild 18002
-MD5 e6ead3ed008a1fe7adc73ddae996ade3 gcc-3.3.2-r1.ebuild 17965
+MD5 4bc0ae0e0e19f54dc1ea7a075745b063 gcc-2.95.3-r7.ebuild 5396
+MD5 a6dd62d4bac8bd5630f21e56dbe5919c gcc-3.3.3_pre20040130.ebuild 21520
+MD5 dc586211fcb550a333b881432d652b3d gcc-3.3.3_pre20040408-r1.ebuild 22692
+MD5 8a2d0081e6c0f75912849fbb37f3c531 gcc-3.2.2-r2.ebuild 15862
+MD5 bdaadd8732e58e8c60242fcddc6cfaa5 gcc-3.3.ebuild 16663
+MD5 5c1f327cb6597d963a624eea6f0d203c gcc-3.4.0-r2.ebuild 29611
+MD5 42871c605b839610632d237b41e38866 gcc-3.3.2-r5.ebuild 21460
+MD5 7eb36ba5811423e02b4ae4c11d8869c5 gcc-3.3.3_pre20040215.ebuild 22195
+MD5 d8d35a54609911a201727872dc3ffe26 gcc-3.3.3_pre20040322.ebuild 22621
+MD5 b2c168723aee82080bc1ee741848ef40 gcc-3.3.3-r4.ebuild 25550
+MD5 1aabd842d43a507ea8d2e988f6f88707 gcc-3.3.2-r7.ebuild 21865
+MD5 ca6cec20814fc6a27d5b1394ef02c867 gcc-3.2.1-r7.ebuild 14773
MD5 2091041850f831fdef34656fc3308604 gcc-3.3.2-r2.ebuild 18118
-MD5 6953c04e837c49f5f9e5f558fbbf8fbe gcc-3.3.2-r3.ebuild 20487
+MD5 6f4b970b6e64b99a49d7c2ac35817d38 gcc-3.3.3.ebuild 22398
+MD5 bd281971d3658dd49f02f647b97c4eeb gcc-3.3.1-r5.ebuild 18002
+MD5 b6a375116a668edbe10b2ac2e1f9fc6d gcc-3.0.4-r6.ebuild 8577
+MD5 68da62e17a31058a92822721b553eca9 gcc-3.1.1-r1.ebuild 9424
+MD5 032dccf3b2988b58febe425f6df9ef35 gcc-3.4.0-r1.ebuild 28580
MD5 14cf69f1206d85356781dd2ad63eb7ca gcc-3.3.2-r4.ebuild 20741
-MD5 42871c605b839610632d237b41e38866 gcc-3.3.2-r5.ebuild 21460
+MD5 8c9407ec40e58c4ebeabe5ee6e93a52a gcc-3.2.2.ebuild 16096
+MD5 b64ebf0e75e94e2b0bd40577a4ba1077 .gcc-3.4.0-r2.ebuild.swp 61440
+MD5 c7e55fc7f4bfd637f45786c0c5fbb365 gcc-2.95.3-r8.ebuild 9095
+MD5 b5f1d4d71ad38c5c5e489466ac0ad399 gcc-3.3.3-r3.ebuild 24690
MD5 9fb6a5505f97c736a3f40f84ea9c71da gcc-3.3.2-r6.ebuild 21217
-MD5 1aabd842d43a507ea8d2e988f6f88707 gcc-3.3.2-r7.ebuild 21865
+MD5 e6ead3ed008a1fe7adc73ddae996ade3 gcc-3.3.2-r1.ebuild 17965
+MD5 a87a051474f6801136acaaac0f6d01ca ChangeLog 49545
MD5 f00b83c775e21267dcfc5c57412dc961 gcc-3.3.2.ebuild 17908
-MD5 b5f1d4d71ad38c5c5e489466ac0ad399 gcc-3.3.3-r3.ebuild 24690
-MD5 b2c168723aee82080bc1ee741848ef40 gcc-3.3.3-r4.ebuild 25550
-MD5 6f4b970b6e64b99a49d7c2ac35817d38 gcc-3.3.3.ebuild 22398
-MD5 a6dd62d4bac8bd5630f21e56dbe5919c gcc-3.3.3_pre20040130.ebuild 21520
-MD5 7eb36ba5811423e02b4ae4c11d8869c5 gcc-3.3.3_pre20040215.ebuild 22195
-MD5 d8d35a54609911a201727872dc3ffe26 gcc-3.3.3_pre20040322.ebuild 22621
-MD5 dc586211fcb550a333b881432d652b3d gcc-3.3.3_pre20040408-r1.ebuild 22692
MD5 3b2fd4637666e71aae9954782cd23016 gcc-3.3.3_pre20040426.ebuild 22633
-MD5 bdaadd8732e58e8c60242fcddc6cfaa5 gcc-3.3.ebuild 16663
-MD5 032dccf3b2988b58febe425f6df9ef35 gcc-3.4.0-r1.ebuild 28580
-MD5 e021f1bee0e06f33507a52669d2e0c4f gcc-3.4.0.ebuild 23741
MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
+MD5 e021f1bee0e06f33507a52669d2e0c4f gcc-3.4.0.ebuild 23741
MD5 d70bcc196f1d68275346f067efcb9373 files/cc 20
MD5 dcf3646d19d351cc4d95a8096c6eaf58 files/cpp 20
-MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r7 64
-MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r8 64
+MD5 e962c23dd4396850f0e36424ec5596d7 files/digest-gcc-3.3.3_pre20040408-r1 138
MD5 4a4be6eb294e00da7fef14ec597dcf13 files/digest-gcc-3.0.4-r6 128
MD5 0d683280daf95e6bb9712549352a200c files/digest-gcc-3.1.1-r1 140
MD5 3853f5e3fdf34c40e6f45ae35a845c99 files/digest-gcc-3.2.1-r7 223
-MD5 cd99b576d23043d02ee0b47a63c0c95e files/digest-gcc-3.2.2 64
MD5 a71b08c7e35abe2526586874801de12e files/digest-gcc-3.2.2-r2 226
MD5 40e6872c09149a81973f01a78c80bbb7 files/digest-gcc-3.2.3-r4 279
-MD5 f57a9900e4d0edcae7b1e327e263d2f7 files/digest-gcc-3.3 294
-MD5 12d4b0c4fc49fad52850ab007c3c7371 files/digest-gcc-3.3-r1 353
MD5 c850f6ba5703712442b90b2c00060a15 files/digest-gcc-3.3.1-r1 361
MD5 d192284727acd002cf658d4c559c2d39 files/digest-gcc-3.3.1-r5 361
-MD5 cf81ae4b2da79c34a005da1182c40134 files/digest-gcc-3.3.2 130
MD5 0d86971219ddd6dcb86f032bc2b93691 files/digest-gcc-3.3.2-r1 361
MD5 f48105f24e5c714530e66a94aa56d615 files/digest-gcc-3.3.2-r2 361
MD5 f48105f24e5c714530e66a94aa56d615 files/digest-gcc-3.3.2-r3 361
@@ -52,102 +49,108 @@ MD5 29b68fb9b347114baf405bf67ebca0cd files/digest-gcc-3.3.2-r4 361
MD5 01c41c9e6857eb40d402f2acb2bd96f9 files/digest-gcc-3.3.2-r5 361
MD5 41e5a58d926345eb32e6a2ba3ab17031 files/digest-gcc-3.3.2-r6 361
MD5 e58b6c1f3122b79a5d0d273acc3c008c files/digest-gcc-3.3.2-r7 361
-MD5 35f63854b7b4d5ab1ed1489e517f8e24 files/digest-gcc-3.3.3 361
MD5 5a9db19cd5ad6ad16b0f838d525d842a files/digest-gcc-3.3.3-r3 522
MD5 d476dba058ac32b251723e136c6dfa8e files/digest-gcc-3.3.3-r4 526
+MD5 b9ef3095a058a4a51f5adef3ad7fb2b6 files/digest-gcc-3.4.0-r1 297
+MD5 5ceeed49b92f3600fabd402571bf3044 files/digest-gcc-3.4.0-r2 365
MD5 ac529391146ca1021405f8ec7a4b0579 files/digest-gcc-3.3.3_pre20040130 138
MD5 9996ea8d65888808363832ea1571fe0a files/digest-gcc-3.3.3_pre20040215 138
MD5 9996ea8d65888808363832ea1571fe0a files/digest-gcc-3.3.3_pre20040322 138
-MD5 e962c23dd4396850f0e36424ec5596d7 files/digest-gcc-3.3.3_pre20040408-r1 138
MD5 8f56750ce25ca30ffebcbdb65de95a1f files/digest-gcc-3.3.3_pre20040426 138
-MD5 d17e2c6ba913d1c1d5cb135acf853f02 files/digest-gcc-3.4.0 297
-MD5 b9ef3095a058a4a51f5adef3ad7fb2b6 files/digest-gcc-3.4.0-r1 297
-MD5 b56b1fa94f82e5c569de7677b8a485e0 files/fix_libtool_files.sh 1738
-MD5 b1a242694f56184cbcdd40ba25800d50 files/gcc-2.95.3-alpha.diff 14345
-MD5 2d5af6fe0b03d39a94cb4c4d4b03e226 files/gcc-2.95.3-atexit.diff 1731
-MD5 73da03a8bd40327709e7850d9e2158e6 files/gcc-2.95.3-destructor-atexit.diff 3890
MD5 523970c128b929fe7c7cf36508ebd1d5 files/gcc-2.95.3-new-atexit.diff 13604
-MD5 385267d11aa8b32522d1585b2d520476 files/gcc-3-deopt-doc.patch 819
+MD5 33df162e1767e168f4f39442785071af files/texinfo-4.0-no-ncurses-gentoo.diff 51748
+MD5 8baffb486c75efe253bd2daa88daa7d6 files/gcc331_use_multilib.amd64.patch 352
+MD5 2d5af6fe0b03d39a94cb4c4d4b03e226 files/gcc-2.95.3-atexit.diff 1731
+MD5 b56b1fa94f82e5c569de7677b8a485e0 files/fix_libtool_files.sh 1738
MD5 a84561f46d573c1c835b1c4d2510cc07 files/gcc-3-deopt.patch 588
MD5 9c13e6b0d5770979430b76c578afa22c files/gcc3-program-transform.patch 9771
-MD5 8baffb486c75efe253bd2daa88daa7d6 files/gcc331_use_multilib.amd64.patch 352
+MD5 cd99b576d23043d02ee0b47a63c0c95e files/digest-gcc-3.2.2 64
+MD5 cf81ae4b2da79c34a005da1182c40134 files/digest-gcc-3.3.2 130
+MD5 35f63854b7b4d5ab1ed1489e517f8e24 files/digest-gcc-3.3.3 361
+MD5 d17e2c6ba913d1c1d5cb135acf853f02 files/digest-gcc-3.4.0 297
+MD5 73da03a8bd40327709e7850d9e2158e6 files/gcc-2.95.3-destructor-atexit.diff 3890
+MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r7 64
+MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r8 64
+MD5 f57a9900e4d0edcae7b1e327e263d2f7 files/digest-gcc-3.3 294
+MD5 b1a242694f56184cbcdd40ba25800d50 files/gcc-2.95.3-alpha.diff 14345
+MD5 385267d11aa8b32522d1585b2d520476 files/gcc-3-deopt-doc.patch 819
MD5 e3193bdffb435b77a21bfb504ff6f591 files/mkinfodir 7324
-MD5 782ac9b8dbc629fe4fdfaa7744cfc004 files/scan_libgcc_linked_ssp.sh 869
+MD5 12d4b0c4fc49fad52850ab007c3c7371 files/digest-gcc-3.3-r1 353
MD5 21848cde4833618f2898e7d17b75633e files/scan_libgcc_linked_ssp.txt 173
MD5 c589fe6a54dc88cf40463cf85a32e81e files/specs-3.3-amd64-unilib 3953
-MD5 33df162e1767e168f4f39442785071af files/texinfo-4.0-no-ncurses-gentoo.diff 51748
-MD5 aa7a1e8bbe618c0d88368e69caeb7653 files/3.1/gcc31-attr-visibility.patch.bz2 3671
-MD5 8b4c6af1c730dcdd843a77e8095d312b files/3.1/gcc31-attr-visibility2.patch.bz2 2341
-MD5 98f539e65ab7e21994e5d378537a5506 files/3.1/gcc31-boehm-gc-libs.patch.bz2 1921
-MD5 9495fab2aa4388693856b2c52f5ac363 files/3.1/gcc31-c++-diagnostic-no-line-wrapping.patch.bz2 562
-MD5 ea61b0ff2db11805fb0778c63b51f43b files/3.1/gcc31-c++-null-pm-init.patch.bz2 4434
-MD5 24642b902b9937cdebeb14063859135f files/3.1/gcc31-c++-tsubst-asm.patch.bz2 703
+MD5 782ac9b8dbc629fe4fdfaa7744cfc004 files/scan_libgcc_linked_ssp.sh 869
MD5 f7274feec78a2dc4ce9233880804ed0f files/3.1/gcc31-dwarf2-pr6381.patch.bz2 1059
-MD5 87f7be372b23072220fbceed8a127474 files/3.1/gcc31-dwarf2-pr6436-test.patch.bz2 336
-MD5 9ea8c34a980997a0d89744cb2ddf941a files/3.1/gcc31-fdata-sections.patch.bz2 2676
-MD5 d3250673494682fa71cb3760e6de257b files/3.1/gcc31-fde-merge-compat.patch.bz2 634
MD5 a235188ad8a8ac2bb3dc8fcd51603225 files/3.1/gcc31-fold-const.patch.bz2 1867
-MD5 637b53059fa127746952cbffe1e8d403 files/3.1/gcc31-fold-const2.patch.bz2 368
-MD5 734e98009983615eff4814f671d83679 files/3.1/gcc31-i386-expand-clrstr.patch.bz2 527
-MD5 2aadf0591cbf8a4e04235f5fb415f974 files/3.1/gcc31-i386-malign-double-doc.patch.bz2 526
+MD5 9ea8c34a980997a0d89744cb2ddf941a files/3.1/gcc31-fdata-sections.patch.bz2 2676
+MD5 98f539e65ab7e21994e5d378537a5506 files/3.1/gcc31-boehm-gc-libs.patch.bz2 1921
MD5 f3818c997439d173ac11322c08f2f2c8 files/3.1/gcc31-libstdc++-pr6594.patch.bz2 635
-MD5 981171de6a3f8d53741f77c12c221469 files/3.1/gcc31-libstdc++-pr6648.patch.bz2 770
+MD5 87f7be372b23072220fbceed8a127474 files/3.1/gcc31-dwarf2-pr6436-test.patch.bz2 336
+MD5 386ffd7fc3ca4a8af55155fe57871dc4 files/3.1/gcc31-test-rotate.patch.bz2 1060
MD5 2f1d2c02b99aa182f1fd9b6328c8b77a files/3.1/gcc31-libstdc++-setrlim.patch.bz2 584
+MD5 2aadf0591cbf8a4e04235f5fb415f974 files/3.1/gcc31-i386-malign-double-doc.patch.bz2 526
+MD5 ea61b0ff2db11805fb0778c63b51f43b files/3.1/gcc31-c++-null-pm-init.patch.bz2 4434
+MD5 8b4c6af1c730dcdd843a77e8095d312b files/3.1/gcc31-attr-visibility2.patch.bz2 2341
MD5 df404bbcc95193a2591895758915e74e files/3.1/gcc31-pr6643.patch.bz2 421
-MD5 386ffd7fc3ca4a8af55155fe57871dc4 files/3.1/gcc31-test-rotate.patch.bz2 1060
+MD5 aa7a1e8bbe618c0d88368e69caeb7653 files/3.1/gcc31-attr-visibility.patch.bz2 3671
+MD5 9495fab2aa4388693856b2c52f5ac363 files/3.1/gcc31-c++-diagnostic-no-line-wrapping.patch.bz2 562
+MD5 d3250673494682fa71cb3760e6de257b files/3.1/gcc31-fde-merge-compat.patch.bz2 634
+MD5 637b53059fa127746952cbffe1e8d403 files/3.1/gcc31-fold-const2.patch.bz2 368
MD5 7f4bc242692c8e5a2ea0e3e865433d94 files/3.1/gcc31-trunc_int_for_mode.patch.bz2 826
-MD5 2b3b3b8637dc17eedce3b1ca1b68f1f1 files/3.2/gcc-3.2-glibc-2.3-compat.diff 5511
-MD5 a97a78f90c372855823b9facf1ba57b6 files/3.2/gcc-3.2.ctype.patch 3500
+MD5 981171de6a3f8d53741f77c12c221469 files/3.1/gcc31-libstdc++-pr6648.patch.bz2 770
+MD5 24642b902b9937cdebeb14063859135f files/3.1/gcc31-c++-tsubst-asm.patch.bz2 703
+MD5 734e98009983615eff4814f671d83679 files/3.1/gcc31-i386-expand-clrstr.patch.bz2 527
MD5 7f884a426afe182c10d2a5fad94c73cc files/3.2/gcc-3.2.fix-copy.patch 2185
+MD5 a97a78f90c372855823b9facf1ba57b6 files/3.2/gcc-3.2.ctype.patch 3500
+MD5 2b3b3b8637dc17eedce3b1ca1b68f1f1 files/3.2/gcc-3.2-glibc-2.3-compat.diff 5511
MD5 f0d236f86eaa66efd429fdac632e0ae2 files/3.2/gcc-3.2.fix-var.patch 1577
-MD5 7e8381ddac68428122ee2b186e3e7c5b files/3.2.1/gcc-3.2.1-bug-url.patch 537
+MD5 f6b6f7c3577eccb694066bb54dd8075a files/3.3/gcc33-gentoo-branding-1.patch 870
+MD5 d047c78a9141b16915d8ec3f54d1e246 files/3.3/gcc33-coreutils-compat.patch.bz2 3462
+MD5 453122edf63d75cca3a6c56a6dac45b0 files/3.3/gcc33-propolice-version.patch 570
+MD5 088e0807e677010cafe4e590e8711be1 files/3.3/gcc33-no-multilib-amd64.patch 343
+MD5 d6ee829d1712436361f5f1daf7b14e83 files/3.3/gcc33-gentoo-branding.patch 890
+MD5 5f465144ef81f1b7c7f6d6abe6e4c59f files/awk/fixlafiles.awk 6285
+MD5 71ad2adafb2cc70631244faca2a85c63 files/awk/scanforssp.awk 5837
+MD5 51719a174883702ef1851fac4cc79398 files/3.2.1/gcc32-strip-dotdot.patch 2071
MD5 8ec9b0352d226e4693cabffe0fa5bba6 files/3.2.1/gcc31-loop-load-final-value.patch 3324
-MD5 5e8f2122ef7f9ce187b0a0d50ac9d24a files/3.2.1/gcc32-arm-disable-mathf.patch 2229
-MD5 044a164462d9392aa67cde6f9fd5c1bc files/3.2.1/gcc32-arm-reload1-fix.patch 932
-MD5 38131a537835873acb08c415d27a013e files/3.2.1/gcc32-athlon-alignment.patch 509
MD5 2c18cb2004c626adf634823713582738 files/3.2.1/gcc32-fix-sixtrack.patch 2001
MD5 43442dbe4412f751605f1597815b5671 files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch 445
-MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.1/gcc32-pr8213.patch 2036
+MD5 7978d1aaf6bae19163e83c110dec1b38 files/3.2.1/gcc32-sparc32-hack.patch 2192
+MD5 38131a537835873acb08c415d27a013e files/3.2.1/gcc32-athlon-alignment.patch 509
+MD5 044a164462d9392aa67cde6f9fd5c1bc files/3.2.1/gcc32-arm-reload1-fix.patch 932
+MD5 5e8f2122ef7f9ce187b0a0d50ac9d24a files/3.2.1/gcc32-arm-disable-mathf.patch 2229
+MD5 7e8381ddac68428122ee2b186e3e7c5b files/3.2.1/gcc-3.2.1-bug-url.patch 537
MD5 62e1cc1d310d74e97080b10802263791 files/3.2.1/gcc32-pr8988.patch 2070
+MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.1/gcc32-pr8213.patch 2036
+MD5 444d0885eecc638ed3ca644d96323422 files/3.2.1/gcc32-tls-reload-fix.patch 6660
MD5 f8505ae264a0fe9557382b7c96a13461 files/3.2.1/gcc32-shared-pthread.patch 3637
-MD5 7978d1aaf6bae19163e83c110dec1b38 files/3.2.1/gcc32-sparc32-hack.patch 2192
-MD5 51719a174883702ef1851fac4cc79398 files/3.2.1/gcc32-strip-dotdot.patch 2071
MD5 c113c3352ad365b8a35d2b0c21e69256 files/3.2.1/gcc32-testsuite.patch 650
-MD5 444d0885eecc638ed3ca644d96323422 files/3.2.1/gcc32-tls-reload-fix.patch 6660
MD5 17f15202b98a8dd84d0f4b67eff2d868 files/3.2.2/gcc32-pr7768.patch 1789
-MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.2/gcc32-pr8213.patch 2036
-MD5 0760a0992d24384d13b7e160614c54ac files/3.2.2/gcc32-pr9732.patch 5534
MD5 465eeaf6008c25dc69ff502dc2a9d8e0 files/3.2.2/gcc322-ggc_page-speedup.patch 872
MD5 ccb007933a794eb661ee3b742189f285 files/3.2.2/gcc322-pr8746.patch 2816
+MD5 9f5b59d7567b90894d8d32cf99f910cc files/3.2.2/gcc32-pr8213.patch 2036
+MD5 0760a0992d24384d13b7e160614c54ac files/3.2.2/gcc32-pr9732.patch 5534
MD5 f055e4ef28077477e8d64c6a985b1ad4 files/3.2.2/gcc322-pr9888.patch 9771
-MD5 52ef1426cb70a472182503502b768058 files/3.2.3/gcc-3.2.3-mergel-fix.patch 2749
-MD5 a3315d69ba1be0bc1518a75027896bf3 files/3.2.3/gcc-3.2.3-move-propolice-into-glibc.patch 3534
-MD5 1f4f8ca52d2dda4a5dc3a9b8f130841c files/3.2.3/gcc-323-propolice-version.patch 700
-MD5 c9c45dab64bab25e716859626ad7f94f files/3.2.3/gcc32-c++-classfn-member-template.patch 3219
MD5 494d917cc15c81c9cead4a8c17d4d00d files/3.2.3/gcc32-mklibgcc-serialize-crtfiles.patch 926
+MD5 c9c45dab64bab25e716859626ad7f94f files/3.2.3/gcc32-c++-classfn-member-template.patch 3219
MD5 99db7c1a41babe024f0c6859c30a87ee files/3.2.3/gcc323-gentoo-branding.patch 2058
+MD5 52ef1426cb70a472182503502b768058 files/3.2.3/gcc-3.2.3-mergel-fix.patch 2749
+MD5 a3315d69ba1be0bc1518a75027896bf3 files/3.2.3/gcc-3.2.3-move-propolice-into-glibc.patch 3534
MD5 869b9a1ea49bf8b07c8405d2f1d76270 files/3.2.3/gcc323-hppa-default_assemble_visibility.patch 571
-MD5 d047c78a9141b16915d8ec3f54d1e246 files/3.3/gcc33-coreutils-compat.patch.bz2 3462
-MD5 f6b6f7c3577eccb694066bb54dd8075a files/3.3/gcc33-gentoo-branding-1.patch 870
-MD5 d6ee829d1712436361f5f1daf7b14e83 files/3.3/gcc33-gentoo-branding.patch 890
-MD5 088e0807e677010cafe4e590e8711be1 files/3.3/gcc33-no-multilib-amd64.patch 343
-MD5 453122edf63d75cca3a6c56a6dac45b0 files/3.3/gcc33-propolice-version.patch 570
-MD5 d3e53318166d71a05d2b51bd44502270 files/3.3.1/gcc331-gentoo-branding.patch 874
+MD5 1f4f8ca52d2dda4a5dc3a9b8f130841c files/3.2.3/gcc-323-propolice-version.patch 700
MD5 b398b7415b93423ff04952c6e69bdb4d files/3.3.1/gcc331-pp-fixup.patch 407
+MD5 d3e53318166d71a05d2b51bd44502270 files/3.3.1/gcc331-gentoo-branding.patch 874
MD5 9e7ed6184a1cdcb69db29f1de26c2d18 files/3.3.2/gcc332-altivec-fix.patch 1607
MD5 d9ae122db2768f8e504dfef256d4991f files/3.3.2/gcc332-gentoo-branding.patch 874
-MD5 ff6d7b5082c5e39fab8a5d8932c1a8b7 files/3.3.3/gcc-3.3.3-uclibc-add-ssp.patch 461
-MD5 308a0e53f03e9cb74b3d12c2633cbee2 files/3.3.3/gcc-uclibc-3.3-loop.patch 433
-MD5 9ba0bd0b103cf9535927ad7c482fe780 files/3.3.3/gcc333-debian-arm-getoff.patch 3501
MD5 25eda9981106a55c413d1df3d3a87db5 files/3.3.3/gcc333-debian-arm-ldm.patch 3383
+MD5 43c60f04779324d74d3aac52224bed95 files/3.3.3/gcc333_pre20040426-gentoo-branding.patch 820
MD5 cd87c02e4896f47bf6029eef0dc29468 files/3.3.3/gcc333-gentoo-branding.patch 874
+MD5 308a0e53f03e9cb74b3d12c2633cbee2 files/3.3.3/gcc-uclibc-3.3-loop.patch 433
MD5 0e8d94bbc14fbb3fbad1df4f404b39ef files/3.3.3/gcc333-ssp-3.3_7-fixup.patch 2616
-MD5 4b249bff27ab6328436e6289ac9f9cfc files/3.3.3/gcc333_pre20040215-gentoo-branding.patch 839
-MD5 f317331e0b196ca455ca9554479cd8eb files/3.3.3/gcc333_pre20040322-gentoo-branding.patch 817
MD5 43c60f04779324d74d3aac52224bed95 files/3.3.3/gcc333_pre20040408-gentoo-branding.patch 820
+MD5 f317331e0b196ca455ca9554479cd8eb files/3.3.3/gcc333_pre20040322-gentoo-branding.patch 817
+MD5 9ba0bd0b103cf9535927ad7c482fe780 files/3.3.3/gcc333-debian-arm-getoff.patch 3501
+MD5 ff6d7b5082c5e39fab8a5d8932c1a8b7 files/3.3.3/gcc-3.3.3-uclibc-add-ssp.patch 461
+MD5 4b249bff27ab6328436e6289ac9f9cfc files/3.3.3/gcc333_pre20040215-gentoo-branding.patch 839
MD5 3210d5fd70806c44d4426c3dceebd480 files/3.3.3/gcc333_pre20040408-stack-size.patch 653
-MD5 43c60f04779324d74d3aac52224bed95 files/3.3.3/gcc333_pre20040426-gentoo-branding.patch 820
-MD5 c89b605fe512439cf492c1c378226c7c files/3.4.0/gcc-3.4.0-fno-for-scope.patch 1604
MD5 fbab4a9c4c8a8b2f329b02ee9b97fa6f files/3.4.0/gcc-3.4.0-gentoo-branding.patch 759
-MD5 5f465144ef81f1b7c7f6d6abe6e4c59f files/awk/fixlafiles.awk 6285
-MD5 71ad2adafb2cc70631244faca2a85c63 files/awk/scanforssp.awk 5837
+MD5 c89b605fe512439cf492c1c378226c7c files/3.4.0/gcc-3.4.0-fno-for-scope.patch 1604
diff --git a/sys-devel/gcc/files/digest-gcc-3.4.0 b/sys-devel/gcc/files/digest-gcc-3.4.0
deleted file mode 100644
index e5e66d1012f4..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.4.0
+++ /dev/null
@@ -1,4 +0,0 @@
-MD5 70ea114bafaf053177e81a6687a14251 gcc-3.4.0-v8.5.3-nodefault-pie-ssp.patch 10847
-MD5 3573dfa5694ca8cc89fd19df3dfdd0ef gcc-3.3.3-v8.5.3-gcc-exclusion.patch 783
-MD5 85c6fc83d51be0fbb4f8205accbaff59 gcc-3.4.0.tar.bz2 27258902
-MD5 59888ad7dd14f022f2ee461a894da531 gcc-3.4.0-manpages.tar.bz2 616854
diff --git a/sys-devel/gcc/files/digest-gcc-3.4.0-r2 b/sys-devel/gcc/files/digest-gcc-3.4.0-r2
new file mode 100644
index 000000000000..410db788a1d1
--- /dev/null
+++ b/sys-devel/gcc/files/digest-gcc-3.4.0-r2
@@ -0,0 +1,5 @@
+MD5 85c6fc83d51be0fbb4f8205accbaff59 gcc-3.4.0.tar.bz2 27258902
+MD5 6231e229fb4cdf27f83c4b480700e6e3 protector-3.4-1.tar.gz 30975
+MD5 59888ad7dd14f022f2ee461a894da531 gcc-3.4.0-manpages.tar.bz2 616854
+MD5 b787401ba46cc16fb3bc7894f86d06ef gcc-3.4.0-piepatches-v8.7.4.tar.bz2 8485
+MD5 fd6ef77953886d6ff74410188faafbb7 gcc-3.3.3-v8.7.0-gcc-ssp-exclusion.patch.bz2 316
diff --git a/sys-devel/gcc/gcc-3.4.0.ebuild b/sys-devel/gcc/gcc-3.4.0-r2.ebuild
index 40521054671f..a86f1d448882 100644
--- a/sys-devel/gcc/gcc-3.4.0.ebuild
+++ b/sys-devel/gcc/gcc-3.4.0-r2.ebuild
@@ -1,33 +1,15 @@
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.0.ebuild,v 1.15 2004/05/05 04:24:53 iluxa Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.0-r2.ebuild,v 1.1 2004/05/12 18:14:22 lv Exp $
-IUSE="static nls bootstrap java build X multilib gcj hardened f77 objc uclibc"
-
-DESCRIPTION="The GNU Compiler Collection. Includes C/C++ and java compilers, as well as support for pax PIE"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-LICENSE="GPL-2 LGPL-2.1"
-
-# Install this and I cannot be held responsible for system failure, random
-# bugs, or sudden onset of insanity. YOU HAVE BEEN WARNED!! (though, really,
-# 3.4 appears to be safe in general unless you're compiling binutils)
-KEYWORDS="-*"
-#KEYWORDS="~amd64 ~x86 ~ppc ~sparc ~mips ~ia64 ~ppc64 ~hppa ~alpha ~s390"
-
-# PIE support
-PIE_VER="8.5.3"
-# forward port of the gcc 3.3 version, only with SSP disabled until
-# a port of propolice to 3.4 is completed.
-PIE_BASE_URI="mirror://gentoo/"
-PIE_SSP_PATCH="gcc-3.4.0-v${PIE_VER}-nodefault-pie-ssp.patch"
-PIE_EXCLUSION_PATCH="gcc-3.3.3-v${PIE_VER}-gcc-exclusion.patch"
-SRC_URI="${PIE_BASE_URI}${PIE_SSP_PATCH}
- ${PIE_BASE_URI}${PIE_EXCLUSION_PATCH}"
+IUSE="static nls bootstrap java build X multilib gcj f77 objc hardened uclibc"
inherit eutils flag-o-matic libtool
-# Recently there has been a lot of stability problems in Gentoo-land. Many
+# Compile problems with these (bug #6641 among others)...
+#filter-flags "-fno-exceptions -fomit-frame-pointer -fforce-addr"
+
+# 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.
@@ -77,28 +59,31 @@ DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}"
# We will handle /usr/include/g++-v3/ with gcc-config ...
STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}"
-# GCC 3.4 introduces a new version of libstdc++
-if [ "${CHOST}" == "${CCHOST}" ]
-then
- SLOT="${MY_PV}"
-else
- SLOT="${CCHOST}-${MY_PV}"
-fi
+# PIE support
+PIE_VER="8.7.4"
+
+# ProPolice version
+PP_VER="3_4"
+PP_FVER="${PP_VER//_/.}-1"
# Patch tarball support ...
+#PATCH_VER="1.0"
PATCH_VER=
+
# Snapshot support ...
+#SNAPSHOT="2002-08-12"
SNAPSHOT=
+
# Branch update support ...
MAIN_BRANCH="${PV}" # Tarball, etc used ...
+
+#BRANCH_UPDATE="20021208"
BRANCH_UPDATE=
-# poof! like magic!
if [ -z "${SNAPSHOT}" ]
then
S="${WORKDIR}/${PN}-${MAIN_BRANCH}"
- SRC_URI="${SRC_URI}
- ftp://gcc.gnu.org/pub/gcc/releases/${P}/${PN}-${MAIN_BRANCH}.tar.bz2"
+ SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${PN}-${MAIN_BRANCH}.tar.bz2"
if [ -n "${PATCH_VER}" ]
then
@@ -113,32 +98,73 @@ then
fi
else
S="${WORKDIR}/gcc-${SNAPSHOT//-}"
+ SRC_URI="ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2"
+fi
+if [ -n "${PP_VER}" ]
+then
SRC_URI="${SRC_URI}
- ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2"
+ http://www.research.ibm.com/trl/projects/security/ssp/gcc${PP_VER}/protector-${PP_FVER}.tar.gz"
fi
# PERL cannot be present at bootstrap, and is used to build the man pages. So..
# lets include some pre-generated ones, shall we?
-SRC_URI="${SRC_URI} mirror://gentoo/${P}-manpages.tar.bz2"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/${P}-manpages.tar.bz2"
+
+# bug #6148 - the bounds checking patch interferes with gcc.c
+# PaX Team, Peter S. Mazinger, pappy, solar, swtaylor, tseng.
+
+# just till the mirrors update...
+#PIE_BASE_URI="mirror://gentoo/"
+PIE_BASE_URI="http://dev.gentoo.org/~lv/"
+PIE_CORE="gcc-3.4.0-piepatches-v${PIE_VER}.tar.bz2"
+SSP_EXCLUSION_PATCH="gcc-3.3.3-v8.7.0-gcc-ssp-exclusion.patch.bz2"
+SRC_URI="${SRC_URI} ${PIE_BASE_URI}${PIE_CORE} ${PIE_BASE_URI}${SSP_EXCLUSION_PATCH}"
+
+DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie and ssp extentions"
+HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
+
+LICENSE="GPL-2 LGPL-2.1"
+
+KEYWORDS="-*"
+#KEYWORDS="~amd64 ~x86 ~ppc ~sparc ~mips ~ia64 ~ppc64 ~hppa ~alpha ~s390"
+
+# Ok, this is a hairy one again, but lets assume that we
+# are not cross compiling, than we want SLOT to only contain
+# $PV, as people upgrading to new gcc layout will not have
+# their old gcc unmerged ...
+# GCC 3.4 introduces a new version of libstdc++
+if [ "${CHOST}" == "${CCHOST}" ]
+then
+ SLOT="${MY_PV}"
+else
+ SLOT="${CCHOST}-${MY_PV}"
+fi
# We need the later binutils for support of the new cleanup attribute.
# 'make check' fails for about 10 tests (if I remember correctly) less
# if we use later bison.
+# This one depends on glibc-2.3.2-r3 containing the __guard in glibc
+# we scan for Guard@@libgcc and then apply the function moving patch.
+# If using NPTL, we currently cannot however depend on glibc-2.3.2-r3,
+# else bootstap will break.
+
+# we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs
DEPEND="virtual/glibc
!nptl? ( >=sys-libs/glibc-2.3.2-r3 )
- !amd64? ( hardened? ( >=sys-libs/glibc-2.3.3_pre20040207 ) )
+ >=sys-libs/glibc-2.3.3_pre20040207
( !sys-devel/hardened-gcc )
>=sys-devel/binutils-2.14.90.0.8-r1
+ hardened? ( >=sys-devel/binutils-2.15.90.0.1.1-r2 )
>=sys-devel/bison-1.875
>=sys-devel/gcc-config-1.3.1
amd64? ( multilib? ( >=app-emulation/emul-linux-x86-baselibs-1.0 ) )
- mips? ( >=sys-libs/glibc-2.3.3_pre20040420 )
!build? ( >=sys-libs/ncurses-5.2-r2
nls? ( sys-devel/gettext ) )"
RDEPEND="virtual/glibc
!nptl? ( >=sys-libs/glibc-2.3.2-r3 )
- hardened? ( !amd64? ( >=sys-libs/glibc-2.3.3_pre20040207 ) )
+ >=sys-libs/glibc-2.3.3_pre20040207
>=sys-devel/gcc-config-1.3.1
>=sys-libs/zlib-1.1.4
>=sys-apps/texinfo-4.2-r4
@@ -146,6 +172,20 @@ RDEPEND="virtual/glibc
PDEPEND="sys-devel/gcc-config"
+gcc_compat() {
+ einfo "GCC 3.4 provides a new (incompatible) version of libstdc++, so"
+ einfo "binaries linked to an older libstdc++ will break if that older"
+ einfo "version is uninstalled. To make sure nothing breaks, the libs"
+ einfo "from your previous gcc $@ installation will be backed up and"
+ einfo "included in this install."
+
+ cd ${ROOT} || die "Failed to chdir to root: ${ROOT}"
+ tar cvf ${WORKDIR}/gcc-libs.tar $(find ${ROOT}/${LOC}/lib/gcc-lib/${CCHOST}/$@ -type f -name '*.so*') || die "failed to create tarball"
+ cd ${D} || die "failed to enter \$D: $D"
+ tar -mxvf ${WORKDIR}/gcc-libs.tar || die "failed to extract tarball"
+
+ export BULIB=$@
+}
chk_gcc_version() {
# This next bit is for updating libtool linker scripts ...
@@ -260,20 +300,26 @@ src_unpack() {
# it fail right near the end, so lets die right away when parts that are
# known to be broken are going to be compiled.
# Travis Tilley <lv@gentoo.org>
- use amd64 && use java && use gcj && die "gcj will not compile yet with gcc 3.4.0 on amd64. re-emerge with USE=-gcj"
use amd64 && use multilib && die "multilib support will not compile yet with gcc 3.4.0. re-emerge with USE=-multilib"
-
local release_version="Gentoo Linux ${PVR}"
- ewarn "Do not hold me accountable if GCC 3.4 makes things unstable, wont"
- ewarn "compile your favorite piece of software, breaks anything C++"
- ewarn "that you compiled with it after uninstalling gcc 3.4, eats your cat,"
- ewarn "humps your leg, or pees on your rug. YOU HAVE BEEN WARNED!!!"
- ewarn "ALSO DO NOT BOTHER TSENG, SOLAR, OR GENTOO-HARDENED ABOUT GCC 3.4!"
- ewarn "SSP has yet to be ported, and if you are using -fstack-protector,"
- ewarn "you should cancel this install before you end up breaking something!"
- ewarn "While this may be a final release, numerous problems still exist.."
+ ewarn "GCC 3.4 support in Gentoo is still in an early experimental stage."
+ ewarn "While the compiler itself appears to be pretty solid at this point,"
+ ewarn "there is still a lot of software that will not compile with it. It"
+ ewarn "might be a good idea to keep your older compiler installed. Do not"
+ ewarn "hold gentoo accountable if GCC 3.4 wont compile your favorite piece"
+ ewarn "of software, emits strange and confusing error messages, frustrates"
+ ewarn "you and your porting efforts, eats your cat, humps your leg, or pees"
+ ewarn "on your rug. You have been warned!"
+ ewarn "NOTE: the piessp patch isnt as complete as the 3.3.3 version on archs"
+ ewarn "other than x86 and amd64!"
+
+ if [ -n "${PP_VER}" ] && [ "${ARCH}" != "hppa" ]
+ then
+ # the guard check should be very early in the unpack process
+ check_glibc_ssp
+ fi
if [ -z "${SNAPSHOT}" ]
then
@@ -287,6 +333,16 @@ src_unpack() {
unpack gcc-${SNAPSHOT//-}.tar.bz2
fi
+ if [ -n "${PP_VER}" ]
+ then
+ unpack protector-${PP_FVER}.tar.gz
+ fi
+
+ if [ -n "${PIE_VER}" ]
+ then
+ unpack ${PIE_CORE}
+ fi
+
cd ${S}
# Fixup libtool to correctly generate .la files with portage
elibtoolize --portage --shallow
@@ -303,26 +359,69 @@ src_unpack() {
mkdir -p ${WORKDIR}/patch/exclude
# mv -f ${WORKDIR}/patch/{40,41}* ${WORKDIR}/patch/exclude/
mv -f ${WORKDIR}/patch/41* ${WORKDIR}/patch/exclude/
- epatch ${WORKDIR}/patch
- fi
- echo
+ # do not enable it, the pie patches won't apply
+ #use uclibc || mv -f ${WORKDIR}/patch/8?_* ${WORKDIR}/patch/exclude/
- if [ -n "`use multilib`" -a "${ARCH}" = "amd64" ]
+ if [ -n "`use multilib`" -a "${ARCH}" = "amd64" ]
+ then
+ mv -f ${WORKDIR}/patch/06* ${WORKDIR}/patch/exclude/
+ bzip2 -c ${FILESDIR}/gcc331_use_multilib.amd64.patch > \
+ ${WORKDIR}/patch/06_amd64_gcc331-use-multilib.patch.bz2
+ fi
+
+ epatch ${WORKDIR}/patch
+ use uclibc && epatch ${FILESDIR}/3.3.3/gcc-uclibc-3.3-loop.patch
+ elif [ -n "`use multilib`" -a "${ARCH}" = "amd64" ]
then
+ # We need this even if there isnt a patchset
epatch ${FILESDIR}/gcc331_use_multilib.amd64.patch
fi
- # This patch enables improved PIE and SSP behaviour but does not
- # enable it by default ...
- cd ${S} && epatch "${DISTDIR}/${PIE_SSP_PATCH}"
- use uclibc || epatch ${DISTDIR}/${PIE_EXCLUSION_PATCH}
- release_version="${release_version}, pie-${PIE_VER}"
+ #if [ -n "${PIE_VER}" ]
+ #then
+ # corrects startfile/endfile selection and shared/static/pie flag usage
+ epatch ${WORKDIR}/piepatch/upstream
+ # adds non-default pie support (for now only rs6000)
+ epatch ${WORKDIR}/piepatch/nondef
+ # adds default pie support for all archs less rs6000 if DEFAULT_PIE[_SSP] is defined
+ epatch ${WORKDIR}/piepatch/def
+ #fi
+
+ # non-default SSP support.
+ if [ "${ARCH}" != "hppa" -a "${ARCH}" != "hppa64" -a -n "${PP_VER}" ]
+ then
+ # ProPolice Stack Smashing protection
+ epatch ${WORKDIR}/protector.dif
+
+ cp ${WORKDIR}/gcc/protector.c ${WORKDIR}/${P}/gcc/ || die "protector.c not found"
+ cp ${WORKDIR}/gcc/protector.h ${WORKDIR}/${P}/gcc/ || die "protector.h not found"
+ cp -R ${WORKDIR}/gcc/testsuite/* ${WORKDIR}/${P}/gcc/testsuite/ || die "testsuite not found"
+
+ #use uclibc && epatch ${FILESDIR}/3.3.3/gcc-3.3.3-uclibc-add-ssp.patch
+
+ release_version="${release_version}, ssp-${PP_FVER}"
+
+ update_gcc_for_libc_ssp
+ fi
+
+ cd ${WORKDIR}/${P}
- if [ -n "`use hardened`" ]
+ # ARM was having issues with static linking as the spec file
+ # calls for crtbeginT.o vs crtbeginS.o. SpanKY looked through
+ # the gcc/config/arm/t-* files, it's appears that it's not meant
+ # to build crtbeginT.o (May 2 2004)
+ # Testing arm again (May 3 2004)
+ # solved hopefully as of pie/ssp v8.7.1
+
+ epatch ${DISTDIR}/${SSP_EXCLUSION_PATCH}
+
+ release_version="${release_version}, pie-${PIE_VER}"
+ if ( use x86 || use amd64 && use hardened )
then
+ # [ "${ARCH}" != "sparc" && "${ARCH}" != "ppc64" && "${ARCH}" != "s390" ]
einfo "Updating gcc to use automatic PIE + SSP building ..."
- sed -e 's|^ALL_CFLAGS = |ALL_CFLAGS = -DEFAULT_PIE_SSP -fPIC|' \
+ sed -e 's|^ALL_CFLAGS = |ALL_CFLAGS = -DEFAULT_PIE_SSP |' \
-i ${S}/gcc/Makefile.in || die "Failed to update gcc!"
# rebrand to make bug reports easier
@@ -337,6 +436,8 @@ src_unpack() {
# apps like openoffice break without this
cd ${S} ; epatch ${FILESDIR}/3.4.0/gcc-3.4.0-fno-for-scope.patch
+ # needed on ppc/ppc64
+ cd ${S} ; epatch ${FILESDIR}/3.3.3/gcc333_pre20040408-stack-size.patch
# Install our pre generated manpages if we do not have perl ...
if [ ! -x /usr/bin/perl ]
@@ -347,6 +448,13 @@ src_unpack() {
# Misdesign in libstdc++ (Redhat)
cp -a ${S}/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
+ # disable --as-needed from being compiled into gcc specs
+ # natively when using >=sys-devel/binutils-2.15.90.0.3 this is
+ # done to keep our gcc backwards compatible with binutils.
+ # gcc 3.4.1 cvs has patches that need back porting..
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14992 (May 3 2004)
+ sed -i -e s/HAVE_LD_AS_NEEDED/USE_LD_AS_NEEDED/g ${S}/gcc/config.in
+
cd ${S}; ./contrib/gcc_update --touch &> /dev/null
}
@@ -362,7 +470,7 @@ src_compile() {
use f77 && gcc_lang="${gcc_lang},f77"
use objc && gcc_lang="${gcc_lang},objc"
use java && use gcj && gcc_lang="${gcc_lang},java"
- # ADA is supported elsewhere, do not enable it here
+ # We do NOT want 'ADA support' in here!
# use ada && gcc_lang="${gcc_lang},ada"
else
gcc_lang="c"
@@ -400,11 +508,23 @@ src_compile() {
myconf="${myconf} --disable-multilib"
fi
- # Fix linking problem with c++ apps which where linkedi
- # agains a 3.2.2 libgcc
+ # Fix linking problem with c++ apps which where linked
+ # against a 3.2.2 libgcc
[ "${ARCH}" = "hppa" ] && myconf="${myconf} --enable-sjlj-exceptions"
- use hardened && append-flags -fPIC
+ # --with-gnu-ld needed for cross-compiling
+ # --enable-sjlj-exceptions : currently the unwind stuff seems to work
+ # for statically linked apps but not dynamic
+ # so use setjmp/longjmp exceptions by default
+ # --disable-libunwind-exceptions needed till unwind sections get fixed. see ps.m for details
+
+ if ! use uclibc
+ then
+ # it's getting close to a time where we are going to need USE=glibc, uclibc, bsdlibc -solar
+ myconf="${myconf} --enable-__cxa_atexit --enable-clocale=generic"
+ else
+ myconf="${myconf} --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-sjlj-exceptions"
+ fi
# Default arch support
use amd64 && myconf="${myconf} --with-arch=k8"
@@ -413,6 +533,7 @@ src_compile() {
#use mips && myconf="${myconf} --with-arch=mips3"
do_filter_flags
+ use hardened && append-flags -fPIC
einfo "CFLAGS=\"${CFLAGS}\""
einfo "CXXFLAGS=\"${CXXFLAGS}\""
einfo "GCJFLAGS=\"${GCJFLAGS}\""
@@ -437,9 +558,8 @@ src_compile() {
--enable-threads=posix \
--enable-long-long \
--disable-checking \
+ --disable-libunwind-exceptions \
--enable-cstdio=stdio \
- --enable-clocale=generic \
- --enable-__cxa_atexit \
--enable-version-specific-runtime-libs \
--with-gxx-include-dir=${STDCXX_INCDIR} \
--with-local-prefix=${LOC}/local \
@@ -482,7 +602,7 @@ src_compile() {
src_install() {
local x=
- # Dont allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as
+ # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as
# this can break the build.
for x in ${WORKDIR}/build/gcc/include/*
do
@@ -526,17 +646,46 @@ src_install() {
ln -s gcc-lib ${D}/${LOC}/lib/gcc
LIBPATH=${LIBPATH/lib\/gcc/lib\/gcc-lib}
+ # Due to the fact that GCC 3.4 provides an incompatible version of
+ # libstdc++, we need to provide compatibility for binary-only apps
+ # which are linked against the old version. Every arch should have
+ # one of these marked stable, so lets look for the newest version
+ # first. We need to check for the .so instead of just the directory
+ # because there may or may not be any shared objects to back up...
+ # The PPC-specific gcc 3.3.3 ebuilds for some reason install directly
+ # to /usr/lib/ on PPC64, so we'll have to add logic for this later. :/
+ # Travis Tilley <lv@gentoo.org>
+ if [ -f ${LOC}/lib/gcc-lib/${CCHOST}/3.3.3/libstdc++.so ]
+ then
+ gcc_compat 3.3.3
+ elif [ -f ${LOC}/lib/gcc-lib/${CCHOST}/3.3.2/libstdc++.so ]
+ then
+ gcc_compat 3.3.2
+ elif [ -f ${LOC}/lib/gcc-lib/${CCHOST}/3.2.3/libstdc++.so ]
+ then
+ gcc_compat 3.2.3
+ fi
+
dodir /lib /usr/bin
dodir /etc/env.d/gcc
echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+
+ # The LDPATH stuff is kinda iffy now that we need to provide compatibility
+ # with older versions of GCC for binary apps.
if [ -n "`use multilib`" -a "${ARCH}" = "amd64" ]
then
# amd64 is a bit unique because of multilib. Add some other paths
- echo "LDPATH=\"${LIBPATH}:${LIBPATH}/32:${LIBPATH}/../lib64:${LIBPATH}/../lib32\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+ LDPATH="${LIBPATH}:${LIBPATH}/32:${LIBPATH}/../lib64:${LIBPATH}/../lib32"
else
- echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+ LDPATH="${LIBPATH}"
fi
+ if [ "${BULIB}" != "" ]
+ then
+ LDPATH="${LDPATH}:${LOC}/lib/gcc-lib/${CCHOST}/${BULIB}"
+ fi
+ echo "LDPATH=\"${LDPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+
echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
@@ -544,6 +693,13 @@ src_install() {
echo "CC=\"gcc\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
echo "CXX=\"g++\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+ # Make sure we do not check glibc for SSP again, as we did already
+ if glibc_have_ssp || \
+ [ -f "${ROOT}/etc/env.d/99glibc_ssp" ]
+ then
+ echo "GLIBC_SSP_CHECKED=1" > ${D}/etc/env.d/99glibc_ssp
+ fi
+
# Make sure we dont have stuff lying around that
# can nuke multiple versions of gcc
if [ -z "`use build`" ]