diff options
author | Travis Tilley <lv@gentoo.org> | 2004-09-13 21:39:47 +0000 |
---|---|---|
committer | Travis Tilley <lv@gentoo.org> | 2004-09-13 21:39:47 +0000 |
commit | 8684673aff6e0db3e136de3e3c0a03365f7f97e5 (patch) | |
tree | 10d55b6af5c6240737ae2c05d369f164cb1df4bc /sys-devel | |
parent | updated manifest file (Manifest recommit) (diff) | |
download | gentoo-2-8684673aff6e0db3e136de3e3c0a03365f7f97e5.tar.gz gentoo-2-8684673aff6e0db3e136de3e3c0a03365f7f97e5.tar.bz2 gentoo-2-8684673aff6e0db3e136de3e3c0a03365f7f97e5.zip |
added a patch from Rob "I own lv" Holland that allows you to switch specs files based on an environment variable (GCC_SPECS) and made gcc build both a vanilla and hardened specs file by default. Eventually this will mean being able to switch between gcc and hardened gcc on the fly. Since neither gcc-config nor portage support this yet, I"m not bumping the revision number.
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/gcc/ChangeLog | 10 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-spec-env.patch | 24 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.4.2-r1.ebuild | 10 |
3 files changed, 41 insertions, 3 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog index b48ea22884df..61d2352e8328 100644 --- a/sys-devel/gcc/ChangeLog +++ b/sys-devel/gcc/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-devel/gcc # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.323 2004/09/12 17:44:43 lv Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.324 2004/09/13 21:39:47 lv Exp $ + + 13 Sep 2004; Travis Tilley <lv@gentoo.org> +files/gcc-spec-env.patch, + gcc-3.4.2-r1.ebuild: + added a patch from Rob "I own lv" Holland that allows you to switch specs + files based on an environment variable (GCC_SPECS) and made gcc build both a + vanilla and hardened specs file by default. Eventually this will mean being + able to switch between gcc and hardened gcc on the fly. Since neither + gcc-config nor portage support this yet, I'm not bumping the revision number. *gcc-3.4.2-r1 (12 Sep 2004) diff --git a/sys-devel/gcc/files/gcc-spec-env.patch b/sys-devel/gcc/files/gcc-spec-env.patch new file mode 100644 index 000000000000..96e6ded4ce41 --- /dev/null +++ b/sys-devel/gcc/files/gcc-spec-env.patch @@ -0,0 +1,24 @@ +--- gcc-3.4.2-r1/gcc/gcc.c 2004-09-13 14:30:15.995139424 +0000 ++++ gcc-3.4.2-r1/gcc/gcc.c.new 2004-09-13 14:38:58.731671392 +0000 +@@ -6421,6 +6421,21 @@ + + /* Process any user specified specs in the order given on the command + line. */ ++ ++ GET_ENVIRONMENT (specs_file, "GCC_SPECS"); ++ if (specs_file) ++ { ++ struct user_specs *user = (struct user_specs *) ++ xmalloc (sizeof (struct user_specs)); ++ ++ user->next = (struct user_specs *) 0; ++ user->filename = specs_file; ++ if (user_specs_tail) ++ user_specs_tail->next = user; ++ else ++ user_specs_head = user; ++ user_specs_tail = user; ++ } + for (uptr = user_specs_head; uptr; uptr = uptr->next) + { + char *filename = find_a_file (&startfile_prefixes, uptr->filename, diff --git a/sys-devel/gcc/gcc-3.4.2-r1.ebuild b/sys-devel/gcc/gcc-3.4.2-r1.ebuild index cc9c4283ac88..d09858ae4714 100644 --- a/sys-devel/gcc/gcc-3.4.2-r1.ebuild +++ b/sys-devel/gcc/gcc-3.4.2-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.2-r1.ebuild,v 1.1 2004/09/12 17:44:43 lv Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.2-r1.ebuild,v 1.2 2004/09/13 21:39:47 lv Exp $ IUSE="static nls bootstrap build nomultilib gcj gtk f77 objc hardened uclibc n32 n64" @@ -55,8 +55,9 @@ S="$(gcc_get_s_dir)" ETYPE="gcc-compiler" -PIEPATCH_EXCLUDE="upstream/04_all_gcc-3.4.0-v8.7.6.1-pie-arm-uclibc.patch.bz2" +#PIEPATCH_EXCLUDE="upstream/04_all_gcc-3.4.0-v8.7.6.1-pie-arm-uclibc.patch.bz2" HARDENED_GCC_WORKS="x86 sparc amd64" +SPLIT_SPECS="true" # 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 @@ -135,6 +136,7 @@ src_unpack() { # misc patches that havent made it into a patch tarball yet epatch ${FILESDIR}/3.4.0/gcc34-reiser4-fix.patch + epatch ${FILESDIR}/gcc-spec-env.patch if use mips && use nomultilib; then use n32 && epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n32only.patch @@ -185,6 +187,10 @@ src_install() { create_gcc_multilib_scripts + if [ "${SPLIT_SPECS}" == "true" ] ; then + cp ${WORKDIR}/build/*.specs ${D}/${LIBPATH} + fi + # Because GCC 3.4 installs into the gcc directory and not the gcc-lib # directory, we will have to rename it in order to keep compatibility # with our current libtool check and gcc-config (which would be a pain |