summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2003-10-26 19:01:18 +0000
committerMartin Schlemmer <azarah@gentoo.org>2003-10-26 19:01:18 +0000
commit77830fe7045361bb75a5c401ac6b032f9e9681a7 (patch)
treee87741a4f73ea07b6dc61da625fc6dd1a2fb0207 /sys-devel/binutils
parentAdd the official binutils-2.14.90.0.6-bfd-elf-interp.patch patch. (diff)
downloadgentoo-2-77830fe7045361bb75a5c401ac6b032f9e9681a7.tar.gz
gentoo-2-77830fe7045361bb75a5c401ac6b032f9e9681a7.tar.bz2
gentoo-2-77830fe7045361bb75a5c401ac6b032f9e9681a7.zip
Add the official binutils-2.14.90.0.6-bfd-elf-interp.patch patch.
Diffstat (limited to 'sys-devel/binutils')
-rw-r--r--sys-devel/binutils/ChangeLog9
-rw-r--r--sys-devel/binutils/Manifest4
-rw-r--r--sys-devel/binutils/binutils-2.14.90.0.6-r7.ebuild210
-rw-r--r--sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-bfd-elf-interp-4.patch40
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.14.90.0.6-r71
5 files changed, 261 insertions, 3 deletions
diff --git a/sys-devel/binutils/ChangeLog b/sys-devel/binutils/ChangeLog
index 0980e8df7004..b9a2933ec108 100644
--- a/sys-devel/binutils/ChangeLog
+++ b/sys-devel/binutils/ChangeLog
@@ -1,6 +1,13 @@
# 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.81 2003/10/26 18:42:26 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.82 2003/10/26 19:01:06 azarah Exp $
+
+*binutils-2.14.90.0.6-r7 (26 Oct 2003)
+
+ 26 Oct 2003; Martin Schlemmer <azarah@gentoo.org>
+ binutils-2.14.90.0.6-r7.ebuild,
+ files/2.14/binutils-2.14.90.0.6-bfd-elf-interp-4.patch:
+ Add the official binutils-2.14.90.0.6-bfd-elf-interp.patch patch.
26 Oct 2003; Martin Schlemmer <azarah@gentoo.org>
binutils-2.14.90.0.6-r6.ebuild:
diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
index 904c4b346c62..a366cb11cb9f 100644
--- a/sys-devel/binutils/Manifest
+++ b/sys-devel/binutils/Manifest
@@ -7,8 +7,8 @@ MD5 bc3f212a30ea4168eaf3b97df6d552ac binutils-2.14.90.0.6-r3.ebuild 6018
MD5 0128e4349da81a9b35d368f3f5457d08 binutils-2.14.90.0.6-r1.ebuild 5115
MD5 b7ddfee30d6b7884c1b9088c6fde759d binutils-2.13.90.0.16-r1.ebuild 4661
MD5 1b11085f74185bfe7061a6fb01d62ebd binutils-2.12.90.0.15.ebuild 3501
-MD5 4e9454f46437a2eac0c8b907f999c2af ChangeLog 18151
-MD5 ba3f9ff05fa06585d3d2aa5105df7caa binutils-2.14.90.0.6-r7.ebuild 6399
+MD5 53f0e56a729406eecca0c72b363c1591 ChangeLog 18404
+MD5 d1138c9abcc298937aa93a9d25add176 binutils-2.14.90.0.6-r7.ebuild 6399
MD5 b7db6fb32b4653b2832c60bc12dce7a1 binutils-2.11.92.0.7.ebuild 2325
MD5 0605cad192892662d9ab7bcf4292a278 binutils-2.11.92.0.12.3-r2.ebuild 3047
MD5 eef83daafb41a3e0beafc59446a00002 binutils-2.14.90.0.6-r4.ebuild 6284
diff --git a/sys-devel/binutils/binutils-2.14.90.0.6-r7.ebuild b/sys-devel/binutils/binutils-2.14.90.0.6-r7.ebuild
new file mode 100644
index 000000000000..9662c7e485b6
--- /dev/null
+++ b/sys-devel/binutils/binutils-2.14.90.0.6-r7.ebuild
@@ -0,0 +1,210 @@
+# 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.6-r7.ebuild,v 1.1 2003/10/26 19:01:06 azarah 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/linux/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="~amd64 ~x86 ~ppc ~alpha ~sparc ~mips ~hppa ~arm ~ia64"
+
+DEPEND="virtual/glibc
+ >=sys-apps/portage-2.0.21
+ nls? ( sys-devel/gettext )
+ !build? ( !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}
+ epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.10-glibc21.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.4-sparc-nonpic.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-sparc-cfi.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-eh-frame-ro-2.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.4-ltconfig-multilib.patch
+# Might think of adding the Prescott stuff later on
+# epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.4-pni.patch
+# This one cause failures in sash and util-linux-2.12 (bug #27330)
+# epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.5-place-orphan.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.5-s390-pie.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.5-ppc64-pie.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-testsuite-Wall-fixes.patch
+
+ # There is a bug in binutils 2.14.* which causes a segfault in certain
+ # circumstances when linking. This bug does not exist in binutils 2.11.*.
+ #
+ # More details on the bug can be found here:
+ # http://sources.redhat.com/ml/bug-binutils/2003-q3/msg00559.html
+ # http://sources.redhat.com/ml/bug-binutils/2003-q3/msg00735.html
+ #
+ # Bug #27492, thanks to Adam Chodorowski <adam@chodorowski.com> for
+ # reporting.
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-dont-crash-on-null-owner.patch
+ # This increase c++ linking 2 to 3 times, bug #27540.
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-merge-speedup.patch
+
+ # Some IA64 patches
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-ia64-howto.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-ia64-sdata.patch
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-ia64-speedup.patch
+
+ # Fix problems compiling kernels on PPC, bug #28011.
+ EPATCH_OPTS="-l" \
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-ppc-bfd.patch
+
+ # Set proper attributes for .interp section
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-bfd-elf-interp-4.patch
+
+ if [ "${ARCH}" = "hppa" ] || [ "${ARCH}" = "hppa64" ]
+ then
+ epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-hppa-static.diff
+ fi
+ if [ "${ARCH}" = "amd64" ]
+ then
+ epatch ${FILESDIR}/${PN}-2.14.amd64-32bit-path-fix.patch
+ fi
+
+ use x86 &> /dev/null \
+ && epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.20-array-sects-compat.patch
+
+ # Libtool is broken (Redhat).
+ for x in ${S}/opcodes/Makefile.{am,in}
+ do
+ cp ${x} ${x}.orig
+ gawk '
+ {
+ if ($0 ~ /LIBADD/)
+ gsub("../bfd/libbfd.la", "-L../bfd/.libs ../bfd/libbfd.la")
+
+ print
+ }' ${x}.orig > ${x}
+ rm -rf ${x}.orig
+ done
+}
+
+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-2.14.90.0.6-bfd-elf-interp-4.patch b/sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-bfd-elf-interp-4.patch
new file mode 100644
index 000000000000..f07be8a246f2
--- /dev/null
+++ b/sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-bfd-elf-interp-4.patch
@@ -0,0 +1,40 @@
+2003-10-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/obj-elf.c (obj_elf_change_section): Allow SHF_ALLOC
+ for .interp, .strtab and .symtab. Use specified section
+ attributes.
+
+--- gas/config/obj-elf.c.attr 2003-09-23 08:16:44.000000000 -0700
++++ gas/config/obj-elf.c 2003-10-21 23:26:06.000000000 -0700
+@@ -615,6 +615,7 @@ obj_elf_change_section (name, type, attr
+ segT sec;
+ flagword flags;
+ const struct bfd_elf_special_section *ssect;
++ bfd_boolean override = FALSE;
+
+ #ifdef md_flush_pending_output
+ md_flush_pending_output ();
+@@ -684,11 +685,20 @@ obj_elf_change_section (name, type, attr
+ && name[ssect->prefix_length] == '.'
+ && (attr &~ ssect->attr &~ SHF_MERGE &~ SHF_STRINGS) == 0)
+ ;
++ /* .interp, .strtab and .symtab can have SHF_ALLOC. */
++ else if (attr == SHF_ALLOC
++ && (strcmp (name, ".interp") == 0
++ || strcmp (name, ".strtab") == 0
++ || strcmp (name, ".symtab") == 0))
++ override = TRUE;
+ else
+- as_warn (_("setting incorrect section attributes for %s"),
+- name);
++ {
++ as_warn (_("setting incorrect section attributes for %s"),
++ name);
++ override = TRUE;
++ }
+ }
+- if (old_sec == NULL)
++ if (!override && old_sec == NULL)
+ attr |= ssect->attr;
+ }
+
diff --git a/sys-devel/binutils/files/digest-binutils-2.14.90.0.6-r7 b/sys-devel/binutils/files/digest-binutils-2.14.90.0.6-r7
new file mode 100644
index 000000000000..26abe27b6c76
--- /dev/null
+++ b/sys-devel/binutils/files/digest-binutils-2.14.90.0.6-r7
@@ -0,0 +1 @@
+MD5 71b99dba3045a359dc314dbebedcf502 binutils-2.14.90.0.6.tar.bz2 10399066