summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Tilley <lv@gentoo.org>2004-11-27 23:13:25 +0000
committerTravis Tilley <lv@gentoo.org>2004-11-27 23:13:25 +0000
commit956a334a0d86d18c650baad50f71b93246da0318 (patch)
treed65c83a346583a90621885878a8c280922e72396 /sys-devel
parentStable amd64. (diff)
downloadhistorical-956a334a0d86d18c650baad50f71b93246da0318.tar.gz
historical-956a334a0d86d18c650baad50f71b93246da0318.tar.bz2
historical-956a334a0d86d18c650baad50f71b93246da0318.zip
libffi, libssp, and libdir oh my!
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc/ChangeLog11
-rw-r--r--sys-devel/gcc/Manifest76
-rw-r--r--sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch40
-rw-r--r--sys-devel/gcc/files/3.4.3/libssp.patch51
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.4.3-r11
-rw-r--r--sys-devel/gcc/gcc-3.4.3-r1.ebuild135
6 files changed, 190 insertions, 124 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog
index 0d4a63f10783..f5092b5f0b14 100644
--- a/sys-devel/gcc/ChangeLog
+++ b/sys-devel/gcc/ChangeLog
@@ -1,6 +1,6 @@
# 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.357 2004/11/27 21:19:14 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.358 2004/11/27 23:13:25 lv Exp $
27 Nov 2004; Jeremy Huddleston <eradicator@gentoo.org> gcc-3.3.5.ebuild:
-sparc because of weirdness
@@ -8,6 +8,15 @@
26 Nov 2004; Sven Wegener <swegener@gentoo.org> :
Added missing digest entries.
+ 27 Nov 2004; Travis Tilley <lv@gentoo.org>
+ +files/3.4.3/libffi-without-libgcj.patch, gcc-3.4.3-r1.ebuild:
+ 1) added a patch that will allow building libffi without gcj. This
+ should make gnustep users happy. ;)
+ 2) fixed a few more issues with libraries ending up outside the gcc
+ ${LIBPATH}
+ 3) fixed the libtool archive libdir fixing thingie, which has apparently
+ been broken for quite some time without anyone noticing
+
*gcc-3.4.3-r1 (25 Nov 2004)
25 Nov 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.3-r1.ebuild:
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index a9ce665a1208..5b16e2b7e960 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,52 +1,45 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 3032666e7e4f9bab25e4e446e90b0eae ChangeLog 74542
-MD5 4bcf46d8a3f5509cf09f23017408095d gcc-2.95.3-r8.ebuild 8407
-MD5 8e736ba1c62f2562c487cccdce7aa0ca gcc-3.3.5.ebuild 11568
-MD5 9f2b75a5738fb492bdd6a50db9b1c8a0 gcc-3.2.3-r4.ebuild 19754
+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 b51ad5b522016590a155af2ab03f4e20 gcc-3.4.2-r2.ebuild 13458
-MD5 5235afe594170bf702b6e5c340eaedc5 gcc-3.4.3-r1.ebuild 13809
-MD5 287ae167b138e6c7acbdbae60ac8bf7a gcc-3.3.2-r2.ebuild 17924
+MD5 5bdc72e6f0fedd6b932d93692a4e4fa6 ChangeLog 74977
+MD5 483487724c94691b62abeb1a32023e9e gcc-3.3.2.ebuild 16758
MD5 a48f0b2b1ee2697060cb2cd31a0e963d gcc-3.3.2-r5.ebuild 21248
-MD5 b52666d9d366f9dd02c00cdedb65b281 gcc-3.3.4-r2.ebuild 24553
MD5 2e15fb1ef6dc858d2c0d8e8ea3a5dfeb gcc-3.3.2-r7.ebuild 21653
-MD5 483487724c94691b62abeb1a32023e9e gcc-3.3.2.ebuild 16758
-MD5 872c3e4633f5a8414f8e2c004fa3b374 gcc-3.3.3-r3.ebuild 23468
MD5 849d93a55dc7e809cf4e3e04b8444d95 gcc-3.4.1-r3.ebuild 31292
-MD5 6aa2c523e9534517a28400c1aa55358e gcc-3.3.3-r6.ebuild 24858
-MD5 453632339c41cdb4c4a6949c282556e2 gcc-3.4.3.ebuild 13325
+MD5 d79c040e0e95d6f967c5cb03ce508bae gcc-3.4.3-r1.ebuild 13795
+MD5 4bcf46d8a3f5509cf09f23017408095d gcc-2.95.3-r8.ebuild 8407
+MD5 9f2b75a5738fb492bdd6a50db9b1c8a0 gcc-3.2.3-r4.ebuild 19754
MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
-MD5 9b8536edd1111148d5a8ac9c3ab02288 gcc-3.3.4-r1.ebuild 24749
+MD5 287ae167b138e6c7acbdbae60ac8bf7a gcc-3.3.2-r2.ebuild 17924
+MD5 453632339c41cdb4c4a6949c282556e2 gcc-3.4.3.ebuild 13325
+MD5 8e736ba1c62f2562c487cccdce7aa0ca gcc-3.3.5.ebuild 11568
MD5 f7e7042c2ddf66e344b30cbc66ebaf73 files/cc 24
MD5 80d122265d3062847a4a1b161abe1d26 files/cpp 24
MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r8 64
-MD5 69687aac826654ad375b7eae45a01e0b files/digest-gcc-3.4.2-r2 443
-MD5 252ece0426f5b68a8448d3ab8db69ef3 files/digest-gcc-3.4.3-r1 529
MD5 40e6872c09149a81973f01a78c80bbb7 files/digest-gcc-3.2.3-r4 279
-MD5 edced3dd7f4035b638bbee500bc89e7b files/gcc-spec-env.patch 791
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 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r2 442
MD5 e58b6c1f3122b79a5d0d273acc3c008c files/digest-gcc-3.3.2-r7 361
MD5 5a9db19cd5ad6ad16b0f838d525d842a files/digest-gcc-3.3.3-r3 522
-MD5 c6ea8a92bac6d2638c54c011f98bc5b8 files/digest-gcc-3.4.1-r3 442
MD5 3fd5a29d44b89f4fb220fccaa968fc05 files/digest-gcc-3.3.3-r6 442
+MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r1 442
+MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r2 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 454652372363986ccf7974279150d516 files/digest-gcc-3.3.5 442
MD5 9bb4a999eb75c9e3eadab9aa71e91879 files/fix_libtool_files.sh 1731
+MD5 edced3dd7f4035b638bbee500bc89e7b files/gcc-spec-env.patch 791
MD5 8baffb486c75efe253bd2daa88daa7d6 files/gcc331_use_multilib.amd64.patch 352
MD5 e3193bdffb435b77a21bfb504ff6f591 files/mkinfodir 7324
-MD5 07b57d62aa1a8cd4d1cd37984ebe2053 files/scan_libgcc_linked_ssp.sh 861
-MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r1 442
MD5 ea2cf3df0d89a26d5fdc1a531176e395 files/pro-police-docs.patch 3287
+MD5 07b57d62aa1a8cd4d1cd37984ebe2053 files/scan_libgcc_linked_ssp.sh 861
+MD5 454652372363986ccf7974279150d516 files/digest-gcc-3.3.5 442
+MD5 cec861f8b98efbe0cf1cb250a5ac8322 files/digest-gcc-3.4.3-r1 444
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 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 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
@@ -73,11 +66,13 @@ MD5 b398b7415b93423ff04952c6e69bdb4d files/3.3.1/gcc331-pp-fixup.patch 407
MD5 9e7ed6184a1cdcb69db29f1de26c2d18 files/3.3.2/gcc332-altivec-fix.patch 1607
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
@@ -85,8 +80,8 @@ MD5 f317331e0b196ca455ca9554479cd8eb files/3.3.3/gcc333_pre20040322-gentoo-brand
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 ee700275f341541af37d56bd15dcf863 files/3.3.3/gcc-3.3.3-norelro.patch 606
-MD5 e5812da37c1862908a29cdae004c4e52 files/3.3.3/gcc333-pr15693.patch 3927
+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 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
@@ -95,21 +90,18 @@ 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 4edccdf0b4f6dbbc9f7bc9370c255e0c files/3.4.0/gcc34-reiser4-fix.patch 587
-MD5 40eea3a959b76abb57fc629c029a3427 files/awk/fixlafiles.awk 7753
-MD5 c672adb59a1f452475ab0a864b9d1bd1 files/awk/scanforssp.awk 5830
-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 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
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.6 (GNU/Linux)
-
-iD8DBQFBqO/OArHZZzCEUG0RAgOAAJ4gPGwOF4f8tu2WrRrzOBTuL90lQACdE7GV
-K6+iLETtpfprJSAYABt5+js=
-=RLiY
------END PGP SIGNATURE-----
+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 40eea3a959b76abb57fc629c029a3427 files/awk/fixlafiles.awk 7753
+MD5 c672adb59a1f452475ab0a864b9d1bd1 files/awk/scanforssp.awk 5830
+MD5 007c62d92efd70fd44c4d2e6a326036b files/3.4.3/libffi-without-libgcj.patch 1658
+MD5 7434140298091f759eba5e9706264130 files/3.4.3/libssp.patch 2029
diff --git a/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
new file mode 100644
index 000000000000..b270a06ad80d
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
@@ -0,0 +1,40 @@
+--- configure.in.orig 2004-08-03 00:53:36.000000000 +0200
++++ configure.in 2004-08-03 00:52:35.000000000 +0200
+@@ -136,8 +136,7 @@
+ host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils 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"
+@@ -150,6 +150,7 @@
+ target-libstdc++-v3 \
+ target-libf2c \
+ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libraries, and are intended to
+--- configure~ 2004-08-28 02:31:04.000000000 +0200
++++ configure 2004-08-28 10:55:28.000000000 +0200
+@@ -876,8 +876,7 @@
+ host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils 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"
+@@ -891,6 +890,7 @@
+ target-libstdc++-v3 \
+ target-libf2c \
+ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libraries, and are intended to
diff --git a/sys-devel/gcc/files/3.4.3/libssp.patch b/sys-devel/gcc/files/3.4.3/libssp.patch
new file mode 100644
index 000000000000..0f9608a18125
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.3/libssp.patch
@@ -0,0 +1,51 @@
+--- gcc-3.4.3-ssp/gcc/gcc.c 2004-11-14 21:17:58.585438344 -0500
++++ gcc-3.4.3-ssp-libssp/gcc/gcc.c 2004-11-21 13:28:43.699379520 -0500
+@@ -711,7 +711,17 @@
+ static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC;
+ static const char *asm_spec = ASM_SPEC;
+ static const char *asm_final_spec = ASM_FINAL_SPEC;
++
++#if defined(_LIBSSP_PROVIDES_SSP_)
++#if defined(EFAULT_PIE_SSP) || defined(EFAULT_SSP)
++static const char *link_spec = LINK_SPEC " %{!fno-stack-protector|!fno-stack-protector-all:-lssp %{static: -lc}}";
++#else
++static const char *link_spec = LINK_SPEC " %{fstack-protector|fstack-protector-all:-lssp %{static: -lc}}";
++#endif // defined(EFAULT_PIE_SSP) || defined(EFAULT_SSP)
++#else
+ static const char *link_spec = LINK_SPEC;
++#endif // defined(_LIBSSP_PROVIDES_SSP_)
++
+ static const char *lib_spec = LIB_SPEC;
+ static const char *libgcc_spec = LIBGCC_SPEC;
+ static const char *endfile_spec = ENDFILE_SPEC;
+diff -Nru gcc-3.4.3-ssp/gcc/libgcc-std.ver gcc-3.4.3-ssp-libssp/gcc/libgcc-std.ver
+--- gcc-3.4.3-ssp/gcc/libgcc-std.ver 2004-11-14 21:18:00.004222656 -0500
++++ gcc-3.4.3-ssp-libssp/gcc/libgcc-std.ver 2004-11-15 19:22:11.802713352 -0500
+@@ -175,7 +175,7 @@
+ _Unwind_SjLj_ForcedUnwind
+ _Unwind_SjLj_Resume
+
+-%if !defined(_LIBC_PROVIDES_SSP_)
++%if !defined(_LIBC_PROVIDES_SSP_) && !defined(_LIBSSP_PROVIDES_SSP_)
+ # stack smash handler symbols
+ __guard
+ __stack_smash_handler
+diff -Nru gcc-3.4.3-ssp/gcc/libgcc2.c gcc-3.4.3-ssp-libssp/gcc/libgcc2.c
+--- gcc-3.4.3-ssp/gcc/libgcc2.c 2004-11-14 21:18:00.004222656 -0500
++++ gcc-3.4.3-ssp-libssp/gcc/libgcc2.c 2004-11-15 19:24:58.428382400 -0500
+@@ -1680,7 +1680,7 @@
+
+
+ #ifdef L_stack_smash_handler
+-#ifndef _LIBC_PROVIDES_SSP_
++#if !defined(_LIBC_PROVIDES_SSP_) && !defined(_LIBSSP_PROVIDES_SSP_)
+ #include <stdio.h>
+ #include <string.h>
+ #include <fcntl.h>
+@@ -1797,5 +1797,5 @@
+ #endif
+ _exit (127);
+ }
+-#endif /* _LIBC_PROVIDES_SSP_ */
++#endif /* _LIBC_PROVIDES_SSP_ && _LIBSSP_PROVIDES_SSP_ */
+ #endif /* L_stack_smash_handler */
diff --git a/sys-devel/gcc/files/digest-gcc-3.4.3-r1 b/sys-devel/gcc/files/digest-gcc-3.4.3-r1
index ba0074c9874f..ceaad4aa1a94 100644
--- a/sys-devel/gcc/files/digest-gcc-3.4.3-r1
+++ b/sys-devel/gcc/files/digest-gcc-3.4.3-r1
@@ -4,4 +4,3 @@ MD5 6b8482fc1bd2663b1b54939f14090331 protector-3.4.3-0.tar.gz 32299
MD5 7e13ac1ac8a87cc5bffee82e0436230d gcc-3.4.3-manpages.tar.bz2 264998
MD5 3d7c6afee2e68f10c55f54ce87395876 gcc-3.4.3-patches-1.1.tar.bz2 91779
MD5 70eb99d2eac647ce956eff950958f7fd gcc-3.4.3-piepatches-v8.7.6.7.tar.bz2 14296
-MD5 b1040fff7d8cd069347080b8ec3e87b7 bounds-checking-gcc-3.4.2-1.00.patch.bz2 815369
diff --git a/sys-devel/gcc/gcc-3.4.3-r1.ebuild b/sys-devel/gcc/gcc-3.4.3-r1.ebuild
index 24d853af4e8a..68749768223e 100644
--- a/sys-devel/gcc/gcc-3.4.3-r1.ebuild
+++ b/sys-devel/gcc/gcc-3.4.3-r1.ebuild
@@ -1,6 +1,6 @@
# 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.4.3-r1.ebuild,v 1.1 2004/11/26 03:18:56 lv Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.3-r1.ebuild,v 1.2 2004/11/27 23:13:25 lv Exp $
DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking"
HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
@@ -50,8 +50,7 @@ PP_FVER="${PP_VER//_/.}-0"
HTB_VER="1.00"
HTB_GCC_VER="3.4.2"
-# nothing in the tree supports libssp
-#GCC_LIBSSP_SUPPORT="true"
+GCC_LIBSSP_SUPPORT="true"
ETYPE="gcc-compiler"
@@ -153,6 +152,18 @@ src_unpack() {
epatch ${FILESDIR}/gcc-spec-env.patch
epatch ${FILESDIR}/3.4.2/810-arm-bigendian-uclibc.patch
+ # nothing in the tree provides libssp.so, so nothing will ever trigger this
+ # logic, but having the patch in the tree makes life so much easier for me
+ # since I dont have to also have an overlay for this.
+ want_libssp && epatch ${FILESDIR}/3.4.3/libssp.patch
+
+ # 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.4.3/libffi-without-libgcj.patch
+ fi
+
# If mips, and we DON'T want multilib, then rig gcc to only use n32 OR n64
if use mips && use !multilib; then
use n32 && epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n32only.patch
@@ -181,11 +192,10 @@ src_unpack() {
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
@@ -234,28 +244,45 @@ src_install() {
cp ${WORKDIR}/build/*.specs ${D}/${LIBPATH}
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
+ # 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
+ # 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
@@ -317,54 +344,6 @@ src_install() {
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
@@ -380,17 +359,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() {
@@ -414,6 +382,13 @@ 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() {