# Maintainer: Natanael Copa pkgname=binutils pkgver=2.34 pkgrel=0 pkgdesc="Tools necessary to build programs" url="https://www.gnu.org/software/binutils/" makedepends_build="bison flex texinfo" makedepends_host="zlib-dev" makedepends="$makedepends_build $makedepends_host" arch="all" license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD" subpackages="$pkgname-dev $pkgname-doc $pkgname-gold" source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.bz2 binutils-ld-fix-static-linking.patch gold-mips.patch ld-bfd-mips.patch " if [ "$CHOST" != "$CTARGET" ]; then pkgname="$pkgname-$CTARGET_ARCH" subpackages="" sonameprefix="$pkgname:" fi # secfixes: # 2.32-r0: # - CVE-2018-19931 # - CVE-2018-19932 # - CVE-2018-20002 # - CVE-2018-20712 # 2.28-r1: # - CVE-2017-7614 build() { local _sysroot=/ local _cross_configure="--enable-install-libiberty --enable-shared" local _arch_configure="" if [ "$CHOST" != "$CTARGET" ]; then _sysroot="$CBUILDROOT" _cross_configure="--disable-install-libiberty" fi if [ "$CTARGET_ARCH" = "x86_64" ]; then _arch_configure="--enable-targets=x86_64-pep" fi case "$CTARGET_ARCH" in mips*) _hash_style_configure="--enable-default-hash-style=sysv" ;; *) _hash_style_configure="--enable-default-hash-style=gnu" ;; esac ./configure \ --build=$CBUILD \ --host=$CHOST \ --target=$CTARGET \ --with-build-sysroot="$CBUILDROOT" \ --with-sysroot=$_sysroot \ --prefix=/usr \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --disable-multilib \ --enable-ld=default \ --enable-gold=yes \ --enable-64-bit-bfd \ --enable-plugins \ --enable-relro \ --enable-deterministic-archives \ $_cross_configure \ $_arch_configure \ $_hash_style_configure \ --with-pic \ --disable-werror \ --disable-nls \ --with-mmap \ --with-system-zlib make } package() { make install DESTDIR="$pkgdir" if [ -d "$pkgdir"/usr/lib64 ]; then mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/ rmdir "$pkgdir"/usr/lib64 fi if [ "$CHOST" != "$CTARGET" ]; then # creating cross tools: remove any files that would conflict # with the native tools, or other cross tools rm -r "$pkgdir"/usr/share rm -f "$pkgdir"/usr/lib/libiberty.a fi } libs() { pkgdesc="Runtime libraries from binutils - libbfd and libopcodes" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/lib*.so "$subpkgdir"/usr/lib/ } gold() { pkgdesc="GNU binutils - gold linker" if [ -e "$pkgdir"/usr/bin/ld.gold ]; then mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/ld.gold "$subpkgdir"/usr/bin fi mkdir -p "$subpkgdir"/usr/$CTARGET/bin mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold } sha512sums="f47e7304e102c7bbc97958a08093e27796b9051d1567ce4fbb723d39ef3e29efa325ee14a1bdcc462a925a7f9bbbc9aee28294c6dc23850f371030f3835a8067 binutils-2.34.tar.bz2 ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch 314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch"