diff options
author | 2004-12-05 04:19:34 +0000 | |
---|---|---|
committer | 2004-12-05 04:19:34 +0000 | |
commit | b1da6a467eaeb262929153f4977690100ab2e1e7 (patch) | |
tree | 07fbbe0a10ad515ae10f77d6ba5e6439e6e08676 | |
parent | Added runtime dependencies for the required tools (Manifest recommit) (diff) | |
download | gentoo-2-b1da6a467eaeb262929153f4977690100ab2e1e7.tar.gz gentoo-2-b1da6a467eaeb262929153f4977690100ab2e1e7.tar.bz2 gentoo-2-b1da6a467eaeb262929153f4977690100ab2e1e7.zip |
added libffi-without-gcj fix, fixed another libpath bug, and updated the pie patches so that sparc works again. the ebuilds and pie patch revisions for the latest 3.3 and 3.4 ebuilds are now in sync. re-keyworded as testing on sparc
-rw-r--r-- | sys-devel/gcc/ChangeLog | 12 | ||||
-rw-r--r-- | sys-devel/gcc/Manifest | 98 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch | 22 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.3.5-r1 (renamed from sys-devel/gcc/files/digest-gcc-3.3.5) | 2 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.3.5-r1.ebuild (renamed from sys-devel/gcc/gcc-3.3.5.ebuild) | 173 |
5 files changed, 165 insertions, 142 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog index 83952c90ee90..de6caebe7b5a 100644 --- a/sys-devel/gcc/ChangeLog +++ b/sys-devel/gcc/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-devel/gcc # Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.360 2004/12/04 01:41:38 lv Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.361 2004/12/05 04:19:34 lv Exp $ + +*gcc-3.3.5-r1 (04 Dec 2004) + + 04 Dec 2004; Travis Tilley <lv@gentoo.org> + +files/3.3.4/libffi-without-libgcj.patch, +gcc-3.3.5-r1.ebuild, + -gcc-3.3.5.ebuild: + added libffi-without-gcj fix, fixed another libpath bug, and updated the pie + patches so that sparc works again. the ebuilds and pie patch revisions for + the latest 3.3 and 3.4 ebuilds are now in sync. re-keyworded as testing on + sparc 03 Dec 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.3-r1.ebuild: keyworded as testing on previously supported archs, as well as ia64 which diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 0dd06a04e830..76d1b1338bd7 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - MD5 bf159f5cdc5c246175ff18c0462f5dfb ChangeLog 75258 MD5 4bcf46d8a3f5509cf09f23017408095d gcc-2.95.3-r8.ebuild 8407 MD5 9f2b75a5738fb492bdd6a50db9b1c8a0 gcc-3.2.3-r4.ebuild 19754 @@ -12,49 +9,38 @@ MD5 872c3e4633f5a8414f8e2c004fa3b374 gcc-3.3.3-r3.ebuild 23468 MD5 6aa2c523e9534517a28400c1aa55358e gcc-3.3.3-r6.ebuild 24858 MD5 9b8536edd1111148d5a8ac9c3ab02288 gcc-3.3.4-r1.ebuild 24749 MD5 b52666d9d366f9dd02c00cdedb65b281 gcc-3.3.4-r2.ebuild 24553 -MD5 102aaf32d139f75e260aab274fa8a2e7 gcc-3.3.5.ebuild 11664 MD5 849d93a55dc7e809cf4e3e04b8444d95 gcc-3.4.1-r3.ebuild 31292 MD5 32d6fa1b0481ad3b4cf2b23aee5207ac gcc-3.4.2-r2.ebuild 13483 MD5 c03764d890b2292cf88c721098be8e3e gcc-3.4.3.ebuild 13251 MD5 567094e03359ffc1c95af7356395228d metadata.xml 162 MD5 1df8a3ebadabf507ba17859cf74f72ce gcc-3.4.3-r1.ebuild 14417 +MD5 4ece80e55d887e5d9e89d372a1f432d3 gcc-3.3.5-r1.ebuild 12657 MD5 f7e7042c2ddf66e344b30cbc66ebaf73 files/cc 24 MD5 80d122265d3062847a4a1b161abe1d26 files/cpp 24 MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r8 64 +MD5 40e6872c09149a81973f01a78c80bbb7 files/digest-gcc-3.2.3-r4 279 +MD5 cf81ae4b2da79c34a005da1182c40134 files/digest-gcc-3.3.2 130 +MD5 f48105f24e5c714530e66a94aa56d615 files/digest-gcc-3.3.2-r2 361 +MD5 01c41c9e6857eb40d402f2acb2bd96f9 files/digest-gcc-3.3.2-r5 361 +MD5 e58b6c1f3122b79a5d0d273acc3c008c files/digest-gcc-3.3.2-r7 361 MD5 5a9db19cd5ad6ad16b0f838d525d842a files/digest-gcc-3.3.3-r3 522 -MD5 9b68e03bb1a6a1494399c8a6537bb766 files/digest-gcc-3.4.3-r1 527 -MD5 454652372363986ccf7974279150d516 files/digest-gcc-3.3.5 442 MD5 3fd5a29d44b89f4fb220fccaa968fc05 files/digest-gcc-3.3.3-r6 442 -MD5 d197c7ddd1a614b89bddbc3babb31c3b files/digest-gcc-3.4.3 442 -MD5 69687aac826654ad375b7eae45a01e0b files/digest-gcc-3.4.2-r2 443 MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r1 442 -MD5 cf81ae4b2da79c34a005da1182c40134 files/digest-gcc-3.3.2 130 -MD5 f48105f24e5c714530e66a94aa56d615 files/digest-gcc-3.3.2-r2 361 +MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r2 442 +MD5 454652372363986ccf7974279150d516 files/digest-gcc-3.3.5 442 +MD5 c6ea8a92bac6d2638c54c011f98bc5b8 files/digest-gcc-3.4.1-r3 442 +MD5 69687aac826654ad375b7eae45a01e0b files/digest-gcc-3.4.2-r2 443 +MD5 d197c7ddd1a614b89bddbc3babb31c3b files/digest-gcc-3.4.3 442 +MD5 9b68e03bb1a6a1494399c8a6537bb766 files/digest-gcc-3.4.3-r1 527 MD5 9bb4a999eb75c9e3eadab9aa71e91879 files/fix_libtool_files.sh 1731 MD5 60e02a7ee2f579ac72ab223679d81e7a files/gcc-spec-env.patch 819 -MD5 ea2cf3df0d89a26d5fdc1a531176e395 files/pro-police-docs.patch 3287 MD5 8baffb486c75efe253bd2daa88daa7d6 files/gcc331_use_multilib.amd64.patch 352 MD5 e3193bdffb435b77a21bfb504ff6f591 files/mkinfodir 7324 +MD5 ea2cf3df0d89a26d5fdc1a531176e395 files/pro-police-docs.patch 3287 MD5 07b57d62aa1a8cd4d1cd37984ebe2053 files/scan_libgcc_linked_ssp.sh 861 -MD5 01c41c9e6857eb40d402f2acb2bd96f9 files/digest-gcc-3.3.2-r5 361 -MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r2 442 -MD5 40e6872c09149a81973f01a78c80bbb7 files/digest-gcc-3.2.3-r4 279 -MD5 e58b6c1f3122b79a5d0d273acc3c008c files/digest-gcc-3.3.2-r7 361 -MD5 c6ea8a92bac6d2638c54c011f98bc5b8 files/digest-gcc-3.4.1-r3 442 +MD5 12f1888b2f1ba88cd88d65f132719f09 files/digest-gcc-3.3.5-r1 440 MD5 b1a242694f56184cbcdd40ba25800d50 files/2.95.3/gcc-2.95.3-alpha.diff 14345 MD5 523970c128b929fe7c7cf36508ebd1d5 files/2.95.3/gcc-2.95.3-new-atexit.diff 13604 -MD5 27120401d2355e5d959b8d2d55eba310 files/3.3.4/gcc334-gentoo-branding.patch 876 -MD5 8c779f2dca6ab1b5b95e2ee211d26c8c files/3.3.4/gcc-3.3.4-spec-env.patch 786 -MD5 86ae592deb82c4564eb61f770fe5f8a7 files/3.4.1/gcc-3.4.1-gentoo-branding.patch 759 -MD5 df06b1cf70425c78e2e59136ed372ab4 files/3.4.1/gcc341-ppc64-mozilla-ICE-fix.patch 729 -MD5 14fec2000fc63536d4cf22195e88e14f files/3.4.1/gcc-3.4.1-r2-gentoo-branding.patch 781 -MD5 cd770c23ece7458db5e6c5067f262ce0 files/3.4.1/gcc-3.4.1-glibc-is-native.patch 760 -MD5 7cb2138ac2df6f8674d19974e966a45b files/3.4.1/gcc-3.4.1-mips-n32only.patch 614 -MD5 aa8e15a63d797df37bbd4e489ed0267f files/3.4.1/gcc-3.4.1-mips-n64only.patch 614 -MD5 97d7409ba5038bea85f9cabe023e28a6 files/3.4.1/gcc-3.4.1-spec-env.patch 755 -MD5 3f6d070c2a4a899e7d879fdb55eecba4 files/3.4.3/libffi-nogcj-lib-path-fix.patch 1691 -MD5 007c62d92efd70fd44c4d2e6a326036b files/3.4.3/libffi-without-libgcj.patch 1658 -MD5 7434140298091f759eba5e9706264130 files/3.4.3/libssp.patch 2029 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 @@ -78,41 +64,47 @@ 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 b398b7415b93423ff04952c6e69bdb4d files/3.3.1/gcc331-pp-fixup.patch 407 -MD5 d9ae122db2768f8e504dfef256d4991f files/3.3.2/gcc332-gentoo-branding.patch 874 MD5 9e7ed6184a1cdcb69db29f1de26c2d18 files/3.3.2/gcc332-altivec-fix.patch 1607 -MD5 40eea3a959b76abb57fc629c029a3427 files/awk/fixlafiles.awk 7753 -MD5 c672adb59a1f452475ab0a864b9d1bd1 files/awk/scanforssp.awk 5830 +MD5 d9ae122db2768f8e504dfef256d4991f files/3.3.2/gcc332-gentoo-branding.patch 874 +MD5 66df5567226338b7504bbd3c25cea92c files/3.3.3/gcc-3.3.3-libiberty-pic.patch 370 +MD5 ee700275f341541af37d56bd15dcf863 files/3.3.3/gcc-3.3.3-norelro.patch 606 +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 cd87c02e4896f47bf6029eef0dc29468 files/3.3.3/gcc333-gentoo-branding.patch 874 +MD5 e5812da37c1862908a29cdae004c4e52 files/3.3.3/gcc333-pr15693.patch 3927 +MD5 bb0078854a778b2a279cfb15d8933c29 files/3.3.3/gcc333-ssp-3.3.2_1-fixup.patch 2598 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 3210d5fd70806c44d4426c3dceebd480 files/3.3.3/gcc333_pre20040408-stack-size.patch 653 MD5 43c60f04779324d74d3aac52224bed95 files/3.3.3/gcc333_pre20040426-gentoo-branding.patch 820 -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 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 bb0078854a778b2a279cfb15d8933c29 files/3.3.3/gcc333-ssp-3.3.2_1-fixup.patch 2598 -MD5 66df5567226338b7504bbd3c25cea92c files/3.3.3/gcc-3.3.3-libiberty-pic.patch 370 -MD5 ee700275f341541af37d56bd15dcf863 files/3.3.3/gcc-3.3.3-norelro.patch 606 -MD5 e5812da37c1862908a29cdae004c4e52 files/3.3.3/gcc333-pr15693.patch 3927 -MD5 b2922cfe76692e7d2b373a0a255f405e files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch 14248 -MD5 2970ce4d26f78bbb7e76f1d41a177bfb files/3.4.2/gcc34-fix-sse2_pinsrw.patch 901 -MD5 2c1ce849de55d8c81af4e081dbb2f5e4 files/3.4.2/gcc34-m32-no-sse2.patch 1058 -MD5 a720c913b78bcfbd7f63319130fadd4a files/3.4.2/810-arm-bigendian-uclibc.patch 1139 +MD5 8c779f2dca6ab1b5b95e2ee211d26c8c files/3.3.4/gcc-3.3.4-spec-env.patch 786 +MD5 27120401d2355e5d959b8d2d55eba310 files/3.3.4/gcc334-gentoo-branding.patch 876 +MD5 5fb5b49f3f16cc9e7e27e582c92ffa2f files/3.3.4/libffi-without-libgcj.patch 890 +MD5 17b3190d64e34ed7709d022b326d08ae files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch 563 +MD5 66edf32babf498517ca56fa44c901f26 files/3.4.0/gcc-3.4.0-move-propolice-into-glibc.patch 894 MD5 06580106a905e8fa2ff23aa190f9d82c files/3.4.0/gcc-3.4.0-r6-gentoo-branding.patch 781 MD5 c7ed491e4bcee6cae89067d4e1c899a8 files/3.4.0/gcc34-ia64-lib64.patch 1395 -MD5 66edf32babf498517ca56fa44c901f26 files/3.4.0/gcc-3.4.0-move-propolice-into-glibc.patch 894 -MD5 31470a0e018eb2cdfe68c71039ede80f files/3.4.0/gcc34-multi32-hack.patch 2445 MD5 c919e0a2cd429d0121b6133c1b4e41a6 files/3.4.0/gcc34-ice-hack.patch 8605 +MD5 31470a0e018eb2cdfe68c71039ede80f files/3.4.0/gcc34-multi32-hack.patch 2445 MD5 bae93db3186aa0fc25d659b7799ef499 files/3.4.0/gcc34-ppc64-m32-m64-multilib-only.patch 825 -MD5 17b3190d64e34ed7709d022b326d08ae files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch 563 MD5 4edccdf0b4f6dbbc9f7bc9370c255e0c files/3.4.0/gcc34-reiser4-fix.patch 587 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.9.10 (GNU/Linux) - -iD8DBQFBsRw8roRuSHgZdywRAo0+AJ9Z8+7PSj93sLIoF2T+6osyS1MZSwCeNRj4 -GvTEKIYThBH3v0NgMRYLS0Y= -=r+Pb ------END PGP SIGNATURE----- +MD5 86ae592deb82c4564eb61f770fe5f8a7 files/3.4.1/gcc-3.4.1-gentoo-branding.patch 759 +MD5 cd770c23ece7458db5e6c5067f262ce0 files/3.4.1/gcc-3.4.1-glibc-is-native.patch 760 +MD5 7cb2138ac2df6f8674d19974e966a45b files/3.4.1/gcc-3.4.1-mips-n32only.patch 614 +MD5 aa8e15a63d797df37bbd4e489ed0267f files/3.4.1/gcc-3.4.1-mips-n64only.patch 614 +MD5 14fec2000fc63536d4cf22195e88e14f files/3.4.1/gcc-3.4.1-r2-gentoo-branding.patch 781 +MD5 97d7409ba5038bea85f9cabe023e28a6 files/3.4.1/gcc-3.4.1-spec-env.patch 755 +MD5 df06b1cf70425c78e2e59136ed372ab4 files/3.4.1/gcc341-ppc64-mozilla-ICE-fix.patch 729 +MD5 a720c913b78bcfbd7f63319130fadd4a files/3.4.2/810-arm-bigendian-uclibc.patch 1139 +MD5 b2922cfe76692e7d2b373a0a255f405e files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch 14248 +MD5 2970ce4d26f78bbb7e76f1d41a177bfb files/3.4.2/gcc34-fix-sse2_pinsrw.patch 901 +MD5 2c1ce849de55d8c81af4e081dbb2f5e4 files/3.4.2/gcc34-m32-no-sse2.patch 1058 +MD5 3f6d070c2a4a899e7d879fdb55eecba4 files/3.4.3/libffi-nogcj-lib-path-fix.patch 1691 +MD5 007c62d92efd70fd44c4d2e6a326036b files/3.4.3/libffi-without-libgcj.patch 1658 +MD5 7434140298091f759eba5e9706264130 files/3.4.3/libssp.patch 2029 +MD5 40eea3a959b76abb57fc629c029a3427 files/awk/fixlafiles.awk 7753 +MD5 c672adb59a1f452475ab0a864b9d1bd1 files/awk/scanforssp.awk 5830 diff --git a/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch new file mode 100644 index 000000000000..507d42f00e90 --- /dev/null +++ b/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch @@ -0,0 +1,22 @@ +--- configure.in.old 2004-06-26 07:01:06.000000000 +0200 ++++ configure.in 2004-06-26 07:02:55.000000000 +0200 +@@ -52,8 +52,7 @@ + host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar" + + # libgcj represents the runtime libraries only used by gcj. +-libgcj="target-libffi \ +- target-boehm-gc \ ++libgcj="target-boehm-gc \ + target-zlib \ + target-qthreads \ + target-libjava" +@@ -66,7 +65,8 @@ + target-newlib \ + ${libstdcxx_version} \ + target-libf2c \ +- ${libgcj} ++ ${libgcj} \ ++ target-libffi \ + target-libobjc" + + # these tools are built using the target libs, and are intended to run only diff --git a/sys-devel/gcc/files/digest-gcc-3.3.5 b/sys-devel/gcc/files/digest-gcc-3.3.5-r1 index f169a0877a6f..dfa8e09d1480 100644 --- a/sys-devel/gcc/files/digest-gcc-3.3.5 +++ b/sys-devel/gcc/files/digest-gcc-3.3.5-r1 @@ -2,5 +2,5 @@ MD5 70ee088b498741bb08c779f9617df3a5 gcc-3.3.5.tar.bz2 23833856 MD5 b8c1300bb08c4a63f572d9575025fd81 protector-3.3.2-3.tar.gz 28195 MD5 aa0868ecce2185884c618de9a15eb40d gcc-3.3.5-manpages.tar.bz2 214965 MD5 20072e557fa33a232206d365063a693e gcc-3.3.5-patches-1.0.tar.bz2 41378 -MD5 d76fdccc81e75e2da9dab862a07d6b47 gcc-3.3.5-piepatches-v8.7.6.7.tar.bz2 26071 +MD5 c2150a78bbff66da0d3ec5ce9c89aaa8 gcc-3.3.5-piepatches-v8.7.7.tar.bz2 25939 MD5 587b0821fa1e6557cba3e5a3712624a9 bounds-checking-gcc-3.3.5-1.00.patch.bz2 828893 diff --git a/sys-devel/gcc/gcc-3.3.5.ebuild b/sys-devel/gcc/gcc-3.3.5-r1.ebuild index 341510bbfc0c..a001c5481264 100644 --- a/sys-devel/gcc/gcc-3.3.5.ebuild +++ b/sys-devel/gcc/gcc-3.3.5-r1.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.5.ebuild,v 1.8 2004/12/04 02:08:35 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.5-r1.ebuild,v 1.1 2004/12/05 04:19:34 lv Exp $ DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking" -KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~sh -sparc ~x86" +KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~sh ~sparc ~x86" # we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs # we also need at least glibc 2.3.3 20040420-r1 in order for gcc 3.4 not to nuke @@ -39,18 +39,34 @@ GENTOO_TOOLCHAIN_BASE_URI="http://dev.gentoo.org/~lv/GCC/" #GCC_MANPAGE_VERSION="3.3.4" #BRANCH_UPDATE="20041025" PATCH_VER="1.0" -PIE_VER="8.7.6.7" +PIE_VER="8.7.7" PIE_CORE="gcc-3.3.5-piepatches-v${PIE_VER}.tar.bz2" PP_VER="3_3_2" PP_FVER="${PP_VER//_/.}-3" HTB_VER="1.00" +#HTB_GCC_VER="" ETYPE="gcc-compiler" -#PIEPATCH_EXCLUDE="upstream/02_all_gcc-3.3.3-v8.7.1-pie-rs6000.patch.bz2" -HARDENED_GCC_WORKS="x86 sparc amd64 hppa" +# arch/libc configurations known to be stable with {PIE,SSP}-by-default +SSP_STABLE="x86 sparc amd64" +SSP_UCLIBC_STABLE="" +PIE_GLIBC_STABLE="x86 sparc amd64" +PIE_UCLIBC_STABLE="x86 mips ppc" + +# arch/libc configurations known to be broken with {PIE,SSP}-by-default +SSP_UNSUPPORTED="hppa" +SSP_UCLIBC_UNSUPPORTED="${SSP_UNSUPPORTED}" +PIE_UCLIBC_UNSUPPORTED="alpha amd64 arm hppa ia64 m68k ppc64 s390 sh sparc" +PIE_GLIBC_UNSUPPORTED="hppa" + +# whether we should split out specs files for multiple {PIE,SSP}-by-default +# and vanilla configurations. SPLIT_SPECS="${SPLIT_SPECS:="true"}" +#GENTOO_PATCH_EXCLUDE="" +#PIEPATCH_EXCLUDE="" + inherit eutils flag-o-matic libtool gnuconfig toolchain gcc_do_filter_flags() { @@ -74,6 +90,8 @@ gcc_do_filter_flags() { chk_gcc_version() { + mkdir -p "${WORKDIR}" + # This next bit is for updating libtool linker scripts ... local OLD_GCC_VERSION="`gcc -dumpversion`" local OLD_GCC_CHOST="$(gcc -v 2>&1 | egrep '^Reading specs' |\ @@ -116,13 +134,21 @@ src_unpack() { epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-getoff.patch epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-ldm.patch fi + + # Anything useful and objc will require libffi. Seriously. Lets just force + # libffi to install with USE="objc", even though it normally only installs + # if you attempt to build gcj. + if use objc && ! use gcj ; then + epatch ${FILESDIR}/3.3.4/libffi-without-libgcj.patch + #epatch ${FILESDIR}/3.4.3/libffi-nogcj-lib-path-fix.patch + fi } src_install() { local x= - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as + # Do allow symlinks in ${PREFIX}/lib/gcc-lib/${CHOST}/${PV}/include as # this can break the build. for x in ${WORKDIR}/build/gcc/include/* do @@ -171,28 +197,57 @@ src_install() { cp ${WORKDIR}/build/*.specs ${D}/${LIBPATH} fi + # This one comes with binutils + rm -f ${D}${PREFIX}/lib/libiberty.a + rm -f ${D}${LIBPATH}/libiberty.a + [ -e ${D}/${PREFIX}/lib/32 ] && rm -rf ${D}/${PREFIX}/lib/32 + + # we dont want these in freaky non-versioned paths that dont ever get used + fix_freaky_non_versioned_library_paths_that_dont_ever_get_used 32 + fix_freaky_non_versioned_library_paths_that_dont_ever_get_used 64 + # and mips is just freaky in general ;p + fix_freaky_non_versioned_library_paths_that_dont_ever_get_used o32 + # and finally, the non-bitdepth-or-ABI-specific freaky path + if [ -d ${D}/${LIBPATH}/../lib ] ; then + mv ${D}/${LIBPATH}/../lib/* ${D}/${LIBPATH}/ + rm -rf ${D}/${LIBPATH}/../lib + fi + # we also dont want libs in /usr/lib* + if [ -d ${D}/${PREFIX}/lib32 -a -d ${D}/${LIBPATH}/32 ] ; then + mv ${D}/${PREFIX}/lib32/* ${D}/${LIBPATH}/32/ + rm -rf ${D}/${PREFIX}/lib32/ + elif [ -d ${D}/${PREFIX}/lib32 -a ! -d ${D}/${LIBPATH}/32 ] ; then + mv ${D}/${PREFIX}/lib32/* ${D}/${LIBPATH}/ + rm -rf ${D}/${PREFIX}/lib32/ + fi + if [ -d ${D}/${PREFIX}/lib64 -a -d ${D}/${LIBPATH}/64 ] ; then + mv ${D}/${PREFIX}/lib64/* ${D}/${LIBPATH}/64/ + rm -rf ${D}/${PREFIX}/lib64/ + elif [ -d ${D}/${PREFIX}/lib64 -a ! -d ${D}/${LIBPATH}/64 ] ; then + mv ${D}/${PREFIX}/lib64/* ${D}/${LIBPATH}/ + rm -rf ${D}/${PREFIX}/lib64/ + fi + if [ "$(get_multilibdir)" != "lib" ] ; then + mv ${D}/${PREFIX}/lib/*so* ${D}/${PREFIX}/lib/*\.la \ + ${D}/${PREFIX}/lib/*\.a ${D}/${LIBPATH} + else + mv ${D}/${PREFIX}/lib/*so* ${D}/${PREFIX}/lib/*\.la \ + ${D}/${PREFIX}/lib/*\.a ${D}/${LIBPATH}/32/ + fi + # and sometimes crap ends up here too :| + mv ${D}/${LIBPATH}/../*.a ${D}/${LIBPATH}/../*.la ${D}/${LIBPATH}/../*so* \ + ${D}/${LIBPATH}/ + + # make sure the libtool archives have libdir set to where they actually + # -are-, and not where they -used- to be. + fix_libtool_libdir_paths "$(find ${D}/${LIBPATH} -name *.la)" + # Make sure we dont have stuff lying around that # can nuke multiple versions of gcc if ! use build then cd ${D}${LIBPATH} - # Tell libtool files where real libraries are - for x in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la - do - if [ -f "${x}" ] - then - sed -i -e "s:/usr/lib:${LIBPATH}:" ${x} - mv ${x} ${D}${LIBPATH} - fi - done - - # Move all the libraries to version specific libdir. - for x in ${D}${PREFIX}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* - do - [ -f "${x}" -o -L "${x}" ] && mv -f ${x} ${D}${LIBPATH} - done - # Move Java headers to compiler-specific dir for x in ${D}${PREFIX}/include/gc*.h ${D}${PREFIX}/include/j*.h do @@ -246,62 +301,8 @@ src_install() { done fi - # This one comes with binutils - rm -f ${D}${PREFIX}/lib/libiberty.a - rm -f ${D}${LIBPATH}/libiberty.a - - [ -e ${D}/${PREFIX}/lib/32 ] && rm -rf ${D}/${PREFIX}/lib/32 - cd ${S} if ! use build && [ "${CHOST}" == "${CTARGET}" ] ; then - cd ${S} - docinto ${CTARGET} - dodoc ChangeLog* FAQ MAINTAINERS README - docinto ${CTARGET}/html - dohtml *.html - cd ${S}/boehm-gc - docinto ${CTARGET}/boehm-gc - dodoc ChangeLog doc/{README*,barrett_diagram} - docinto ${CTARGET}/boehm-gc/html - dohtml doc/*.html - cd ${S}/gcc - docinto ${CTARGET}/gcc - dodoc ChangeLog* FSFChangeLog* LANGUAGES NEWS ONEWS README* SERVICE - if use fortran ; then - cd ${S}/libf2c - docinto ${CTARGET}/libf2c - dodoc ChangeLog* README TODO *.netlib - fi - cd ${S}/libffi - docinto ${CTARGET}/libffi - dodoc ChangeLog* README - cd ${S}/libiberty - docinto ${CTARGET}/libiberty - dodoc ChangeLog* README - if use objc - then - cd ${S}/libobjc - docinto ${CTARGET}/libobjc - dodoc ChangeLog* README* THREADS* - fi - cd ${S}/libstdc++-v3 - docinto ${CTARGET}/libstdc++-v3 - dodoc ChangeLog* README - docinto ${CTARGET}/libstdc++-v3/html - dohtml -r -a css,diff,html,txt,xml docs/html/* - cp -f docs/html/17_intro/[A-Z]* \ - ${D}/usr/share/doc/${PF}/${DOCDESTTREE}/17_intro/ - - if use gcj - then - cd ${S}/fastjar - docinto ${CTARGET}/fastjar - dodoc AUTHORS CHANGES ChangeLog* NEWS README - cd ${S}/libjava - docinto ${CTARGET}/libjava - dodoc ChangeLog* HACKING NEWS README THANKS - fi - prepman ${DATAPATH} prepinfo ${DATAPATH} else @@ -317,17 +318,6 @@ src_install() { exeinto /sbin doexe ${FILESDIR}/fix_libtool_files.sh fi - - # we dont want these in freaky non-versioned paths that dont ever get used - fix_freaky_non_versioned_library_paths_that_dont_ever_get_used 32 - fix_freaky_non_versioned_library_paths_that_dont_ever_get_used 64 - # and mips is just freaky in general ;p - fix_freaky_non_versioned_library_paths_that_dont_ever_get_used o32 - # and finally, the non-bitdepth-or-ABI-specific freaky path - if [ -d ${D}/${LIBPATH}/../lib ] ; then - mv ${D}/${LIBPATH}/../lib/* ${D}/${LIBPATH}/ - rm -rf ${D}/${LIBPATH}/../lib - fi } fix_freaky_non_versioned_library_paths_that_dont_ever_get_used() { @@ -351,11 +341,20 @@ fix_freaky_non_versioned_library_paths_that_dont_ever_get_used() { fi } +fix_libtool_libdir_paths() { + local dirpath + for archive in ${*} ; do + dirpath=$(dirname ${archive} | sed -e "s:^${D}::") + sed -i ${archive} -e "s:^libdir.*:libdir=\'${dirpath}\':" + done +} + pkg_preinst() { if [ ! -f "${WORKDIR}/.chkgccversion" ] then + mkdir -p ${WORKDIR} chk_gcc_version fi |