diff options
author | Joshua Kinard <kumba@gentoo.org> | 2003-05-26 21:40:55 +0000 |
---|---|---|
committer | Joshua Kinard <kumba@gentoo.org> | 2003-05-26 21:40:55 +0000 |
commit | 47994c89fc1772bcab4a8369ad04f481ba8c66f2 (patch) | |
tree | 5650ba72c9eeaa86fc5c460d0496daf9b50d3bed /sys-devel | |
parent | New Version; Added MIPS patch to fix Binutils & OpenSSL issue; Fixed error in... (diff) | |
download | gentoo-2-47994c89fc1772bcab4a8369ad04f481ba8c66f2.tar.gz gentoo-2-47994c89fc1772bcab4a8369ad04f481ba8c66f2.tar.bz2 gentoo-2-47994c89fc1772bcab4a8369ad04f481ba8c66f2.zip |
New Version; Added MIPS patch to fix Binutils & OpenSSL issue; Fixed error in SRC_URI
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/binutils/ChangeLog | 22 | ||||
-rw-r--r-- | sys-devel/binutils/Manifest | 6 | ||||
-rw-r--r-- | sys-devel/binutils/binutils-2.14.90.0.2.ebuild | 17 | ||||
-rw-r--r-- | sys-devel/binutils/binutils-2.14.90.0.4.ebuild | 168 | ||||
-rw-r--r-- | sys-devel/binutils/files/2.14/binutils-mips-openssl-got-fix.patch | 15 | ||||
-rw-r--r-- | sys-devel/binutils/files/digest-binutils-2.14.90.0.4 | 1 |
6 files changed, 216 insertions, 13 deletions
diff --git a/sys-devel/binutils/ChangeLog b/sys-devel/binutils/ChangeLog index 90f98a7b0323..dfd3c767c54f 100644 --- a/sys-devel/binutils/ChangeLog +++ b/sys-devel/binutils/ChangeLog @@ -1,6 +1,26 @@ # ChangeLog for sys-devel/binutils # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.50 2003/05/25 15:34:03 mholzer Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.51 2003/05/26 21:40:36 kumba Exp $ + +*binutils-2.14.90.0.4 (26 May 2003) + + 26 May 2003; Joshua Kinard <kumba@gentoo.org> + binutils-2.14.90.0.4.ebuild: + New Version. Masked for all archs except unstable/testing on mips. + + 26 May 2003; Joshua Kinard <kumba@gentoo.org> + binutils-2.14.90.0.2.ebuild, binutils-2.14.90.0.4.ebuild: + Added a patch for MIPS arch which fixes binutils so that it does not generate + a broken dynamic relocation table for the OpenSSL libs. This happens because + the global GOT entry count is too low. The bug itself was introduced in + binutils CVS by the following patch: + http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elfxx-mips.c.diff?r1=1.38 + &r2=1.39&cvsroot=src + + 26 May 2003; Joshua Kinard <kumba@gentoo.org> + binutils-2.14.90.0.2.ebuild, binutils-2.14.90.0.4.ebuild: + Corrected a minor error in SRC_URI so that the + package is found in the right location on the kernel.org website. *binutils-2.11.92.0.7 (25 May 2003) diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest index f1e88fc3c1b2..edeb05b4ad35 100644 --- a/sys-devel/binutils/Manifest +++ b/sys-devel/binutils/Manifest @@ -1,11 +1,11 @@ -MD5 29406e069119678b9c84b428efffb1bd ChangeLog 10114 +MD5 3fd9884f02a8b0472756c816e27addf2 ChangeLog 10103 MD5 aadd595cfe7c0c5bbcec70650b452401 binutils-2.11.92.0.12.3-r2.ebuild 3125 MD5 011c5a33d84072e1af09ccf89cba6d61 binutils-2.11.92.0.7.ebuild 2357 MD5 368c85b995c3ab74a32a09e573aba1f9 binutils-2.12.90.0.15.ebuild 3512 MD5 fa1d184fbb7043a913d9307bd1b42fde binutils-2.12.90.0.7.ebuild 3594 -MD5 79266afa15f127cf69223166252095be binutils-2.14.90.0.2.ebuild 4831 +MD5 da61d04d133fef7fad5eb175bf409094 binutils-2.14.90.0.2.ebuild 4829 MD5 5ed1c40a92233028ce782a0c337603d9 binutils-2.13.90.0.16-r1.ebuild 4740 -MD5 9f03c16a4ec51e85ac88cfbb0004ef5f binutils-2.14.90.0.4.ebuild 4837 +MD5 09ad052b0ffe98d08f857b1dffee38ab binutils-2.14.90.0.4.ebuild 4835 MD5 2adeb2860e4df3cdcb96ef6cd5430ab1 binutils-2.13.90.0.18-r1.ebuild 5376 MD5 92d499d1d77ed2571dda9ea61195fa05 binutils-2.13.90.0.18.ebuild 4580 MD5 d7b4cc81d5633b9a2bca55e3f0b7205e binutils-2.13.90.0.20-r1.ebuild 5006 diff --git a/sys-devel/binutils/binutils-2.14.90.0.2.ebuild b/sys-devel/binutils/binutils-2.14.90.0.2.ebuild index 73b8d0459908..82bf4c2bed8c 100644 --- a/sys-devel/binutils/binutils-2.14.90.0.2.ebuild +++ b/sys-devel/binutils/binutils-2.14.90.0.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.14.90.0.2.ebuild,v 1.2 2003/05/25 15:34:03 mholzer Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.14.90.0.2.ebuild,v 1.3 2003/05/26 21:40:36 kumba Exp $ IUSE="nls bootstrap build" @@ -14,8 +14,8 @@ filter-flags "-fomit-frame-pointer -fssa" S="${WORKDIR}/${P}" DESCRIPTION="Tools necessary to build programs" -SRC_URI="mirror://kernel/linux/devel/binutils/${P}.tar.bz2 - mirror://kernel/linux/devel/binutils/test/${P}.tar.bz2" +SRC_URI="mirror://kernel/devel/binutils/${P}.tar.bz2 + mirror://kernel/devel/binutils/test/${P}.tar.bz2" HOMEPAGE="http://sources.redhat.com/binutils/" SLOT="0" @@ -57,12 +57,11 @@ src_unpack() { use x86 &> /dev/null \ && epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.20-array-sects-compat.patch - # Add patches for mips - # Appears to already be in 2.14.90.0.1.... -# if [ "${ARCH}" = "mips" ] -# then -# epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.20-gas-mips-gprel.patch -# fi + # Fixes a MIPS issue in which the dynamic relocation table in OpenSSL libs + # gets broken because the GOT entry count is too low + if [ "${ARCH}" = "mips" ]; then + epatch ${FILESDIR}/2.14/${PN}-mips-openssl-got-fix.patch + fi } diff --git a/sys-devel/binutils/binutils-2.14.90.0.4.ebuild b/sys-devel/binutils/binutils-2.14.90.0.4.ebuild new file mode 100644 index 000000000000..5a90f561e498 --- /dev/null +++ b/sys-devel/binutils/binutils-2.14.90.0.4.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.14.90.0.4.ebuild,v 1.1 2003/05/26 21:40:36 kumba Exp $ + +IUSE="nls bootstrap build" + +# NOTE to Maintainer: ChangeLog states that it no longer use perl to build +# the manpages, but seems this is incorrect .... + +inherit eutils libtool flag-o-matic + +# Generate borked binaries. Bug #6730 +filter-flags "-fomit-frame-pointer -fssa" + +S="${WORKDIR}/${P}" +DESCRIPTION="Tools necessary to build programs" +SRC_URI="mirror://kernel/devel/binutils/${P}.tar.bz2 + mirror://kernel/linux/devel/binutils/test/${P}.tar.bz2" +HOMEPAGE="http://sources.redhat.com/binutils/" + +SLOT="0" +LICENSE="GPL-2 | LGPL-2" +KEYWORDS="-x86 -ppc -alpha -sparc ~mips -hppa -arm" + +DEPEND="virtual/glibc + >=sys-apps/portage-2.0.21 + nls? ( sys-devel/gettext ) + || ( dev-lang/perl + ( !build? ( dev-lang/perl ) ) + ( !bootstrap? ( dev-lang/perl ) ) + )" +# This is a hairy one. Basically depend on dev-lang/perl +# if "build" or "bootstrap" not in USE. + + +# filter CFLAGS=".. -O2 .." on arm +if [ "${ARCH}" = "arm" ]; then + CFLAGS="$(echo "${CFLAGS}" | sed -e 's,-O[2-9] ,-O1 ,')" +fi + +src_unpack() { + + unpack ${A} + + cd ${S} + + # Various patches from Redhat/Mandrake... + epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.10-glibc21.patch + epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.10-x86_64-testsuite.patch + epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.10-x86_64-gotpcrel.patch + epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.18-ltconfig-multilib.patch + epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.18-s390-file-loc.patch + epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.18-testsuite-Wall-fixes.patch + epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.1-sparc-nonpic.patch + epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.1-eh-frame-ro.patch + + use x86 &> /dev/null \ + && epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.20-array-sects-compat.patch + + # Fixes a MIPS issue in which the dynamic relocation table in OpenSSL libs + # gets broken because the GOT entry count is too low + if [ "${ARCH}" = "mips" ]; then + epatch ${FILESDIR}/2.14/${PN}-mips-openssl-got-fix.patch + fi + +} + +src_compile() { + local myconf="" + + use nls && \ + myconf="${myconf} --without-included-gettext" || \ + myconf="${myconf} --disable-nls" + + # Fix /usr/lib/libbfd.la + elibtoolize --portage + + ./configure --enable-shared \ + --enable-64-bit-bfd \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --host=${CHOST} \ + ${myconf} || die + + make configure-bfd || die + make headers -C bfd || die + emake tooldir="${ROOT}/usr/bin" \ + all || die + + if [ -z "`use build`" ] + then + if [ -z "`use bootstrap`" ] + then + # Nuke the manpages to recreate them (only use this if we have perl) + find . -name '*.1' -exec rm -f {} \; || : + fi + # Make the info pages (makeinfo included with gcc is used) + make info || die + fi +} + +src_install() { + + make prefix=${D}/usr \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + install || die + + insinto /usr/include + doins include/libiberty.h + + # c++filt is included with gcc -- what are these GNU people thinking? + # but not the manpage, so leave that! +# We install it now, as gcc-3.3 do not have it any longer ... +# rm -f ${D}/usr/bin/c++filt #${D}/usr/share/man/man1/c++filt* + + # By default strip has a symlink going from /usr/${CHOST}/bin/strip to + # /usr/bin/strip we should reverse it: + + rm ${D}/usr/${CHOST}/bin/strip; mv ${D}/usr/bin/strip ${D}/usr/${CHOST}/bin/strip + # The strip symlink gets created in the loop below + + # By default ar, as, ld, nm, ranlib and strip are in two places; create + # symlinks. This will reduce the size of the tbz2 significantly. We also + # move all the stuff in /usr/bin to /usr/${CHOST}/bin and create the + # appropriate symlinks. Things are cleaner that way. + cd ${D}/usr/bin + local x="" + for x in * strip + do + if [ ! -e ../${CHOST}/bin/${x} ] + then + mv ${x} ../${CHOST}/bin/${x} + else + rm -f ${x} + fi + ln -s ../${CHOST}/bin/${x} ${x} + done + + cd ${S} + if [ -z "`use build`" ] + then + make prefix=${D}/usr \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + install-info || die + + dodoc COPYING* README + docinto bfd + dodoc bfd/ChangeLog* bfd/COPYING bfd/README bfd/PORTING bfd/TODO + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/COPYING gas/NEWS gas/README* + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/COPYING.LIB libiberty/README + docinto opcodes + dodoc opcodes/ChangeLog* + # Install pre-generated manpages .. currently we do not ... + else + rm -rf ${D}/usr/share/man + fi +} diff --git a/sys-devel/binutils/files/2.14/binutils-mips-openssl-got-fix.patch b/sys-devel/binutils/files/2.14/binutils-mips-openssl-got-fix.patch new file mode 100644 index 000000000000..cdc9b520a098 --- /dev/null +++ b/sys-devel/binutils/files/2.14/binutils-mips-openssl-got-fix.patch @@ -0,0 +1,15 @@ +--- source-orig/bfd/elfxx-mips.c Sun May 25 09:20:23 2003 ++++ source/bfd/elfxx-mips.c Sun May 25 09:55:20 2003 +@@ -7798,10 +7798,10 @@ _bfd_mips_elf_hide_symbol (info, entry, + h = (struct mips_elf_link_hash_entry *) entry; + if (h->forced_local) + return; +- h->forced_local = TRUE; ++ h->forced_local = force_local; + + dynobj = elf_hash_table (info)->dynobj; +- if (dynobj != NULL) ++ if (dynobj != NULL && force_local) + { + got = mips_elf_got_section (dynobj, FALSE); + g = mips_elf_section_data (got)->u.got_info; diff --git a/sys-devel/binutils/files/digest-binutils-2.14.90.0.4 b/sys-devel/binutils/files/digest-binutils-2.14.90.0.4 new file mode 100644 index 000000000000..13c33ac11166 --- /dev/null +++ b/sys-devel/binutils/files/digest-binutils-2.14.90.0.4 @@ -0,0 +1 @@ +MD5 b7b394b8a001bc3102053b29c9dd44fa binutils-2.14.90.0.4.tar.bz2 10354576 |