diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2003-10-26 19:01:18 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2003-10-26 19:01:18 +0000 |
commit | 77830fe7045361bb75a5c401ac6b032f9e9681a7 (patch) | |
tree | e87741a4f73ea07b6dc61da625fc6dd1a2fb0207 /sys-devel/binutils | |
parent | Add the official binutils-2.14.90.0.6-bfd-elf-interp.patch patch. (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | sys-devel/binutils/Manifest | 4 | ||||
-rw-r--r-- | sys-devel/binutils/binutils-2.14.90.0.6-r7.ebuild | 210 | ||||
-rw-r--r-- | sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-bfd-elf-interp-4.patch | 40 | ||||
-rw-r--r-- | sys-devel/binutils/files/digest-binutils-2.14.90.0.6-r7 | 1 |
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 |