[arch-commits] Commit in binutils/repos (8 files)
Allan McRae
allan at archlinux.org
Mon Apr 23 13:46:39 UTC 2012
Date: Monday, April 23, 2012 @ 09:46:38
Author: allan
Revision: 157082
archrelease: copy trunk to testing-i686, testing-x86_64
Added:
binutils/repos/testing-i686/
binutils/repos/testing-i686/PKGBUILD
(from rev 157081, binutils/trunk/PKGBUILD)
binutils/repos/testing-i686/binutils-2.22-ld-13621.patch
(from rev 157081, binutils/trunk/binutils-2.22-ld-13621.patch)
binutils/repos/testing-i686/binutils.install
(from rev 157081, binutils/trunk/binutils.install)
binutils/repos/testing-x86_64/
binutils/repos/testing-x86_64/PKGBUILD
(from rev 157081, binutils/trunk/PKGBUILD)
binutils/repos/testing-x86_64/binutils-2.22-ld-13621.patch
(from rev 157081, binutils/trunk/binutils-2.22-ld-13621.patch)
binutils/repos/testing-x86_64/binutils.install
(from rev 157081, binutils/trunk/binutils.install)
---------------------------------------------+
testing-i686/PKGBUILD | 99 ++++++++++++++++++++++++++
testing-i686/binutils-2.22-ld-13621.patch | 27 +++++++
testing-i686/binutils.install | 17 ++++
testing-x86_64/PKGBUILD | 99 ++++++++++++++++++++++++++
testing-x86_64/binutils-2.22-ld-13621.patch | 27 +++++++
testing-x86_64/binutils.install | 17 ++++
6 files changed, 286 insertions(+)
Copied: binutils/repos/testing-i686/PKGBUILD (from rev 157081, binutils/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD (rev 0)
+++ testing-i686/PKGBUILD 2012-04-23 13:46:38 UTC (rev 157082)
@@ -0,0 +1,99 @@
+# $Id$
+# Maintainer: Allan McRae <allan at archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=binutils
+pkgver=2.22
+pkgrel=6
+_date=20120323
+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-devel')
+depends=('glibc>=2.15' 'zlib')
+checkdepends=('dejagnu')
+options=('!libtool' '!distcc' '!ccache')
+install=binutils.install
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2
+ binutils-2.22-ld-13621.patch)
+md5sums=('de2ac4298732827f8af706fc24020330'
+ '86d9445914c9d51bfe575ecbac265be0')
+
+mksource() {
+ mkdir ${pkgname}-${_date}
+ cd ${pkgname}-${_date}
+ export _TAG=binutils-2_22-branch
+ export 'CVSROOT=:pserver:anoncvs at 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=13621
+ patch -p1 -i $srcdir/binutils-2.22-ld-13621.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
+
+ # check the host environment and makes sure all the necessary tools are available
+ make configure-host
+
+ make tooldir=${pkgdir}/usr
+
+ # Rebuild libiberty.a with -fPIC
+ cp -a libiberty libiberty-pic
+ make -C libiberty-pic clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic
+
+ # Rebuild libbfd.a with -fPIC
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ cp -a bfd bfd-pic
+ make -C bfd-pic clean
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic
+
+ # Rebuild libopcodes.a with -fPIC
+ cp -a opcodes opcodes-pic
+ make -C opcodes-pic clean
+ make CFLAGS="$CFLAGS -fPIC" -C opcodes-pic
+}
+
+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
+
+ # install libraries rebuilt with -fPIC
+ install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib
+ install -m644 bfd-pic/libbfd.a ${pkgdir}/usr/lib
+ install -m644 opcodes/libopcodes.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
+}
Copied: binutils/repos/testing-i686/binutils-2.22-ld-13621.patch (from rev 157081, binutils/trunk/binutils-2.22-ld-13621.patch)
===================================================================
--- testing-i686/binutils-2.22-ld-13621.patch (rev 0)
+++ testing-i686/binutils-2.22-ld-13621.patch 2012-04-23 13:46:38 UTC (rev 157082)
@@ -0,0 +1,27 @@
+diff --git a/bfd/linker.c b/bfd/linker.c
+index c51c5df..0404474 100644
+--- a/bfd/linker.c
++++ b/bfd/linker.c
+@@ -3208,6 +3208,12 @@ fix_syms (struct bfd_link_hash_entry *h, void *data)
+ op = op1;
+ }
+
++ /* Refuse to choose a section for which we are out of bounds. */
++ /* ??? This may make most of the above moot. */
++ if (h->u.def.value < op->vma
++ || h->u.def.value > op->vma + op->size)
++ op = bfd_abs_section_ptr;
++
+ h->u.def.value -= op->vma;
+ h->u.def.section = op;
+ }
+index 95b7ef4..a9c05f9 100644
+--- a/ld/testsuite/ld-elf/warn2.d
++++ b/ld/testsuite/ld-elf/warn2.d
+@@ -13,5 +13,5 @@
+ # construct and that the symbol still appears as expected.
+
+ #...
+- +[0-9]+: +[0-9a-f]+ +20 +OBJECT +GLOBAL +DEFAULT +[1-9] Foo
++ +[0-9]+: +[0-9a-f]+ +20 +OBJECT +GLOBAL +DEFAULT +ABS Foo
+ #pass
Copied: binutils/repos/testing-i686/binutils.install (from rev 157081, binutils/trunk/binutils.install)
===================================================================
--- testing-i686/binutils.install (rev 0)
+++ testing-i686/binutils.install 2012-04-23 13:46:38 UTC (rev 157082)
@@ -0,0 +1,17 @@
+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
+}
+
Copied: binutils/repos/testing-x86_64/PKGBUILD (from rev 157081, binutils/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2012-04-23 13:46:38 UTC (rev 157082)
@@ -0,0 +1,99 @@
+# $Id$
+# Maintainer: Allan McRae <allan at archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=binutils
+pkgver=2.22
+pkgrel=6
+_date=20120323
+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-devel')
+depends=('glibc>=2.15' 'zlib')
+checkdepends=('dejagnu')
+options=('!libtool' '!distcc' '!ccache')
+install=binutils.install
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2
+ binutils-2.22-ld-13621.patch)
+md5sums=('de2ac4298732827f8af706fc24020330'
+ '86d9445914c9d51bfe575ecbac265be0')
+
+mksource() {
+ mkdir ${pkgname}-${_date}
+ cd ${pkgname}-${_date}
+ export _TAG=binutils-2_22-branch
+ export 'CVSROOT=:pserver:anoncvs at 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=13621
+ patch -p1 -i $srcdir/binutils-2.22-ld-13621.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
+
+ # check the host environment and makes sure all the necessary tools are available
+ make configure-host
+
+ make tooldir=${pkgdir}/usr
+
+ # Rebuild libiberty.a with -fPIC
+ cp -a libiberty libiberty-pic
+ make -C libiberty-pic clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic
+
+ # Rebuild libbfd.a with -fPIC
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ cp -a bfd bfd-pic
+ make -C bfd-pic clean
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic
+
+ # Rebuild libopcodes.a with -fPIC
+ cp -a opcodes opcodes-pic
+ make -C opcodes-pic clean
+ make CFLAGS="$CFLAGS -fPIC" -C opcodes-pic
+}
+
+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
+
+ # install libraries rebuilt with -fPIC
+ install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib
+ install -m644 bfd-pic/libbfd.a ${pkgdir}/usr/lib
+ install -m644 opcodes/libopcodes.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
+}
Copied: binutils/repos/testing-x86_64/binutils-2.22-ld-13621.patch (from rev 157081, binutils/trunk/binutils-2.22-ld-13621.patch)
===================================================================
--- testing-x86_64/binutils-2.22-ld-13621.patch (rev 0)
+++ testing-x86_64/binutils-2.22-ld-13621.patch 2012-04-23 13:46:38 UTC (rev 157082)
@@ -0,0 +1,27 @@
+diff --git a/bfd/linker.c b/bfd/linker.c
+index c51c5df..0404474 100644
+--- a/bfd/linker.c
++++ b/bfd/linker.c
+@@ -3208,6 +3208,12 @@ fix_syms (struct bfd_link_hash_entry *h, void *data)
+ op = op1;
+ }
+
++ /* Refuse to choose a section for which we are out of bounds. */
++ /* ??? This may make most of the above moot. */
++ if (h->u.def.value < op->vma
++ || h->u.def.value > op->vma + op->size)
++ op = bfd_abs_section_ptr;
++
+ h->u.def.value -= op->vma;
+ h->u.def.section = op;
+ }
+index 95b7ef4..a9c05f9 100644
+--- a/ld/testsuite/ld-elf/warn2.d
++++ b/ld/testsuite/ld-elf/warn2.d
+@@ -13,5 +13,5 @@
+ # construct and that the symbol still appears as expected.
+
+ #...
+- +[0-9]+: +[0-9a-f]+ +20 +OBJECT +GLOBAL +DEFAULT +[1-9] Foo
++ +[0-9]+: +[0-9a-f]+ +20 +OBJECT +GLOBAL +DEFAULT +ABS Foo
+ #pass
Copied: binutils/repos/testing-x86_64/binutils.install (from rev 157081, binutils/trunk/binutils.install)
===================================================================
--- testing-x86_64/binutils.install (rev 0)
+++ testing-x86_64/binutils.install 2012-04-23 13:46:38 UTC (rev 157082)
@@ -0,0 +1,17 @@
+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
+}
+
More information about the arch-commits
mailing list