diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD index 671831e..5ca1354 100644 --- a/trunk/PKGBUILD +++ b/trunk/PKGBUILD @@ -4,22 +4,24 @@ # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=binutils -pkgver=2.36.1 -pkgrel=3 +pkgver=2.37 +pkgrel=1 pkgdesc='A set of programs to assemble and manipulate binary and object files' arch=(x86_64) url='https://www.gnu.org/software/binutils/' license=(GPL) groups=(base-devel) -depends=(glibc zlib elfutils) -makedepends=(elfutils git) +depends=(glibc zlib libelf) +makedepends=(git) +checkdepends=(dejagnu debuginfod bc) +optdepends=('debuginfod: for debuginfod server/client functionality') conflicts=(binutils-multilib) replaces=(binutils-multilib) options=(staticlibs !distcc !ccache) #_commit=cb5f6a3e146cc70bc2d864989386df80acec5d3e #source=(git+https://sourceware.org/git/binutils-gdb.git#commit=$_commit) source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}) -sha256sums=('e81d9edf373f193af428a0f256674aea62a9d74dfe93f65192d4eae030b0f3b0' +sha256sums=('820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c' 'SKIP') validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F) @@ -50,29 +52,43 @@ build() { --enable-lto \ --enable-plugins \ --enable-relro \ + --enable-shared \ --enable-targets=x86_64-pep \ --enable-threads \ --disable-gdb \ + --disable-gdbserver \ + --disable-libdecnumber \ + --disable-readline \ + --disable-sim \ --disable-werror \ --with-debuginfod \ --with-pic \ --with-system-zlib - make configure-host - make tooldir=/usr + make -O tooldir=/usr } check() { cd binutils-build - # unset LDFLAGS as testsuite makes assumptions about which ones are active - # ignore failures in gold testsuite... - make -k LDFLAGS="" check || true + # ld testsuite: uses CFLAGS_FOR_TARGET. Needs -g added and -fno-plt removed. + # + # gold testsuite: uses CXXFLAGS, CFLAGS, LDFLAGS and is incompatible with our + # --enable-default-pie GCC. Note pie also turns on PIC. Negate by adding -no-pie + # and -fno-PIC where necessary. Needs -fno-plt removed and LDFLAGS unset. + # + # 1 test fail in debuginfod (objdump) - upstream not sure why: + # https://sourceware.org/bugzilla/show_bug.cgi?id=28029 + + make -k -O CFLAGS_FOR_TARGET="-g ${CFLAGS/ -fno-plt}" \ + CXXFLAGS="${CXXFLAGS/ -fno-plt} -no-pie -fno-PIC" \ + CFLAGS="${CFLAGS/ -fno-plt} -no-pie" \ + LDFLAGS="" check || true } package() { cd binutils-build - make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install + make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" -j1 install # Remove unwanted files rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*