summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2003-05-26 21:40:55 +0000
committerJoshua Kinard <kumba@gentoo.org>2003-05-26 21:40:55 +0000
commit47994c89fc1772bcab4a8369ad04f481ba8c66f2 (patch)
tree5650ba72c9eeaa86fc5c460d0496daf9b50d3bed /sys-devel
parentNew Version; Added MIPS patch to fix Binutils & OpenSSL issue; Fixed error in... (diff)
downloadgentoo-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/ChangeLog22
-rw-r--r--sys-devel/binutils/Manifest6
-rw-r--r--sys-devel/binutils/binutils-2.14.90.0.2.ebuild17
-rw-r--r--sys-devel/binutils/binutils-2.14.90.0.4.ebuild168
-rw-r--r--sys-devel/binutils/files/2.14/binutils-mips-openssl-got-fix.patch15
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.14.90.0.41
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