diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-05-19 16:52:00 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-05-19 16:52:00 +0000 |
commit | b8ea4461e461f0e1782e28b5810eb811423afa79 (patch) | |
tree | c11f256cb01c37f0b2ab370c4838fa4e3949e2a1 /testing/binutils | |
parent | 82b609ecce972e236c2ce887ecd55ec30e2874a7 (diff) |
Thu May 19 16:52:00 UTC 2011
Diffstat (limited to 'testing/binutils')
-rw-r--r-- | testing/binutils/PKGBUILD | 89 | ||||
-rw-r--r-- | testing/binutils/binutils-2.21-strip-segfault.patch | 96 | ||||
-rw-r--r-- | testing/binutils/binutils.install | 17 |
3 files changed, 0 insertions, 202 deletions
diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD deleted file mode 100644 index 0d1d6a0bc..000000000 --- a/testing/binutils/PKGBUILD +++ /dev/null @@ -1,89 +0,0 @@ -# $Id: PKGBUILD 123424 2011-05-11 10:41:25Z allan $ -# Maintainer: Allan McRae <allan@archlinux.org> - -# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc - -pkgname=binutils -pkgver=2.21 -pkgrel=8 -_date=20110430 -pkgdesc="A set of programs to assemble and manipulate binary and object files" -arch=('i686' 'x86_64') -url="http://www.gnu.org/software/binutils/" -license=('GPL') -groups=('base') -depends=('glibc>=2.13' 'zlib') -makedepends=('dejagnu') -options=('!libtool' '!distcc' '!ccache') -install=binutils.install -source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2 - binutils-2.21-strip-segfault.patch) -md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec' - '98e8dfaf1c0ededa586823ebfb27825a') - -mksource() { - mkdir ${pkgname}-${_date} - cd ${pkgname}-${_date} - export _TAG=binutils-2_21-branch - export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src' - cvs -z9 co -r $_TAG binutils || return 1 - mv src binutils - tar -cvjf ../binutils-${pkgver}_${_date}.tar.bz2 binutils/* -} - -build() { - cd ${srcdir}/binutils - # http://sourceware.org/bugzilla/show_bug.cgi?id=12632 - patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch - - cd ${srcdir} - mkdir binutils-build && cd binutils-build - - [[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib" - - ${srcdir}/binutils/configure --prefix=/usr \ - --enable-ld=default --enable-gold \ - --enable-plugins --enable-threads \ - --enable-shared $CONFIGFLAG - - # This checks the host environment and makes sure all the necessary tools are available to compile Binutils. - make configure-host - - make tooldir=${pkgdir}/usr -} - -check() { - cd ${srcdir}/binutils-build - - # do not abort on errors - manually check log files - make -k -j1 check || true -} - -package() { - cd ${srcdir}/binutils-build - make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install - - # Add some useful headers - install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include - install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include - - # Rebuild libiberty.a with -fPIC - make -C libiberty clean - make CFLAGS="$CFLAGS -fPIC" -C libiberty - install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib - - # Rebuild libbfd.a with -fPIC - make -C bfd clean - # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API - make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd - install -m644 bfd/libbfd.a ${pkgdir}/usr/lib - - # Remove Windows/Novell specific man pages - rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* - - # Remove these symlinks, they are not ABI stable. - # Programs should compile static to the .a file. - rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so - echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so - echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so -} diff --git a/testing/binutils/binutils-2.21-strip-segfault.patch b/testing/binutils/binutils-2.21-strip-segfault.patch deleted file mode 100644 index 0133d879b..000000000 --- a/testing/binutils/binutils-2.21-strip-segfault.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/binutils/objcopy.c b/binutils/objcopy.c -index 15c4f95..b64f3d0 100644 ---- a/binutils/objcopy.c -+++ b/binutils/objcopy.c -@@ -1,6 +1,6 @@ - /* objcopy.c -- copy object file from input to output, optionally massaging it. - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. - - This file is part of GNU Binutils. -@@ -2024,6 +2024,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, - struct stat buf; - int stat_status = 0; - bfd_boolean del = TRUE; -+ bfd_boolean ok_object; - - /* Create an output file for this member. */ - output_name = concat (dir, "/", -@@ -2061,44 +2062,42 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, - l->obfd = NULL; - list = l; - -- if (bfd_check_format (this_element, bfd_object)) -+ ok_object = bfd_check_format (this_element, bfd_object); -+ if (!ok_object) -+ bfd_nonfatal_message (NULL, this_element, NULL, -+ _("Unable to recognise the format of file")); -+ -+ /* PR binutils/3110: Cope with archives -+ containing multiple target types. */ -+ if (force_output_target || !ok_object) -+ output_bfd = bfd_openw (output_name, output_target); -+ else -+ output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); -+ -+ if (output_bfd == NULL) - { -- /* PR binutils/3110: Cope with archives -- containing multiple target types. */ -- if (force_output_target) -- output_bfd = bfd_openw (output_name, output_target); -- else -- output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); -+ bfd_nonfatal_message (output_name, NULL, NULL, NULL); -+ status = 1; -+ return; -+ } -+ -+ if (ok_object) -+ { -+ del = !copy_object (this_element, output_bfd, input_arch); - -- if (output_bfd == NULL) -+ if (del && bfd_get_arch (this_element) == bfd_arch_unknown) -+ /* Try again as an unknown object file. */ -+ ok_object = FALSE; -+ else if (!bfd_close (output_bfd)) - { - bfd_nonfatal_message (output_name, NULL, NULL, NULL); -+ /* Error in new object file. Don't change archive. */ - status = 1; -- return; - } -- -- del = ! copy_object (this_element, output_bfd, input_arch); -- -- if (! del -- || bfd_get_arch (this_element) != bfd_arch_unknown) -- { -- if (!bfd_close (output_bfd)) -- { -- bfd_nonfatal_message (output_name, NULL, NULL, NULL); -- /* Error in new object file. Don't change archive. */ -- status = 1; -- } -- } -- else -- goto copy_unknown_element; - } -- else -- { -- bfd_nonfatal_message (NULL, this_element, NULL, -- _("Unable to recognise the format of file")); - -- output_bfd = bfd_openw (output_name, output_target); --copy_unknown_element: -+ if (!ok_object) -+ { - del = !copy_unknown_object (this_element, output_bfd); - if (!bfd_close_all_done (output_bfd)) - { --- -1.6.5.GIT - diff --git a/testing/binutils/binutils.install b/testing/binutils/binutils.install deleted file mode 100644 index 8bf9f3a47..000000000 --- a/testing/binutils/binutils.install +++ /dev/null @@ -1,17 +0,0 @@ -infodir=usr/share/info -filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info) - -post_upgrade() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - |