summaryrefslogtreecommitdiffstats
path: root/abs/core/binutils/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/binutils/PKGBUILD')
-rw-r--r--abs/core/binutils/PKGBUILD91
1 files changed, 60 insertions, 31 deletions
diff --git a/abs/core/binutils/PKGBUILD b/abs/core/binutils/PKGBUILD
index 7a41923..e2b300c 100644
--- a/abs/core/binutils/PKGBUILD
+++ b/abs/core/binutils/PKGBUILD
@@ -1,50 +1,79 @@
# $Id$
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.26
-pkgrel=3
-_commit=71090e7a
-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.23' 'zlib')
-makedepends=('git')
-checkdepends=('dejagnu' 'bc')
-conflicts=('binutils-multilib')
-replaces=('binutils-multilib')
-options=('staticlibs' '!distcc' '!ccache')
-install=binutils.install
-source=(git://sourceware.org/git/binutils-gdb.git#commit=${_commit})
-md5sums=('SKIP')
+pkgver=2.30
+pkgrel=5
+pkgdesc='A set of programs to assemble and manipulate binary and object files'
+arch=(x86_64)
+url='http://www.gnu.org/software/binutils/'
+license=(GPL)
+groups=(base-devel)
+depends=(glibc zlib)
+checkdepends=(dejagnu bc)
+conflicts=(binutils-multilib)
+replaces=(binutils-multilib)
+options=(staticlibs !distcc !ccache)
+source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}
+ 0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
+ 0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch
+ 0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch
+ 0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch)
+validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F)
+md5sums=('ffc476dd46c96f932875d1b2e27e929f'
+ 'SKIP'
+ '469164f3c93a0e92a697537b60c9806c'
+ '0c679b37e90fb23de60a4d28329b956a'
+ '53b5682e09c0a27e9994c3efdfe01d29'
+ '0fac94f7fa54a95354454677d3e43994')
prepare() {
- cd binutils-gdb
+ mkdir -p binutils-build
+
+ #cd binutils-gdb
+ cd binutils-$pkgver
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
- mkdir ${srcdir}/binutils-build
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22741
+ patch -p1 -i "$srcdir/0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22829
+ patch -p1 -i "$srcdir/0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22836
+ patch -p1 -i "$srcdir/0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
+ patch -p1 -i "$srcdir/0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch"
}
build() {
cd binutils-build
- ../binutils-gdb/configure --prefix=/usr \
+ "$srcdir/binutils-$pkgver/configure" \
+ --prefix=/usr \
--with-lib-path=/usr/lib:/usr/local/lib \
--with-bugurl=https://bugs.archlinux.org/ \
- --enable-threads --enable-shared --with-pic \
- --enable-ld=default --enable-gold --enable-plugins \
--enable-deterministic-archives \
- --disable-werror --disable-gdb
+ --enable-gold \
+ --enable-ld=default \
+ --enable-lto \
+ --enable-plugins \
+ --enable-relro \
+ --enable-shared \
+ --enable-targets=x86_64-pep \
+ --enable-threads \
+ --disable-gdb \
+ --disable-werror \
+ --with-pic \
+ --with-system-zlib
- # check the host environment and makes sure all the necessary tools are available
make configure-host
-
make tooldir=/usr
}
@@ -58,13 +87,13 @@ check() {
package() {
cd binutils-build
- make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+ make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install
# Remove unwanted files
- rm ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+ rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
# No shared linking to these files outside binutils
- rm ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
- echo "INPUT ( /usr/lib/libbfd.a -liberty -lz -ldl )" > "$pkgdir"/usr/lib/libbfd.so
- echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" > "$pkgdir"/usr/lib/libopcodes.so
+ rm -f "$pkgdir"/usr/lib/lib{bfd,opcodes}.so
+ echo 'INPUT( /usr/lib/libbfd.a -liberty -lz -ldl )' > "$pkgdir/usr/lib/libbfd.so"
+ echo 'INPUT( /usr/lib/libopcodes.a -lbfd )' > "$pkgdir/usr/lib/libopcodes.so"
}