# Maintainer: Natanael Copa pkgname=binutils pkgver=2.30 pkgrel=6 pkgdesc="Tools necessary to build programs" url="https://www.gnu.org/software/binutils/" depends="" 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="http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2 fix-powerpc64-out-ot-line-save-restore.patch binutils-ld-fix-static-linking.patch gold-mips.patch allow-R_AARCH64_ABS16-and.patch CVE-2018-7208.patch CVE-2018-6543.patch CVE-2018-7643.patch CVE-2018-6759.patch CVE-2018-7642.patch CVE-2018-7569.patch CVE-2018-6872.patch CVE-2018-7568.patch CVE-2018-8945.patch " builddir="$srcdir/$pkgname-$pkgver" if [ "$CHOST" != "$CTARGET" ]; then pkgname="$pkgname-$CTARGET_ARCH" subpackages="" sonameprefix="$pkgname:" fi # secfixes: # 2.28-r1: # - CVE-2017-7614 # 2.30-r6: # - CVE-2018-7208 # - CVE-2018-6543 # - CVE-2018-7643 # - CVE-2018-6759 # - CVE-2018-7642 # - CVE-2018-7570 # - CVE-2018-7569 # - CVE-2018-6872 # - CVE-2018-7568 # - CVE-2018-8945 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 cd "$builddir" ./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-system-zlib make } package() { cd "$builddir" 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="c3ce91aa20f058ec589bf18c722bf651331b394db6378900cc813cc0eea3a331a96584d5ae090630b627369510397dccc9edfcd43d4aeefc99579f277a05c72c binutils-2.30.tar.bz2 29791af5a09387d16fc4272dc7a10f71aed5a13187187af533bbe365506d6e6b581030d3f9bb4b7d8e300fb29b8b37b5f48027d86e33a8395b1a6d2dfb2d895a fix-powerpc64-out-ot-line-save-restore.patch ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch 5d8ebbcae2c8d3b2075fb06ace3c52ff6bb0ec96989873fbe302019a15d91f6e85e9e38a6d8eb09bd9aefa7723665108a3a62a6fc1cafb07b1eba2a96d19c9e3 allow-R_AARCH64_ABS16-and.patch 13d68a99c63ba82c301c51e0747897cb0ee0e199606f1e285d02b5035a2309eabb057fd372fe3ff5bad48119a6ed7968385d0ce2ead776c72a77f4174d2ca777 CVE-2018-7208.patch 6218beebc64299236073dc69acf6b1959b51abe55f3137b847c7bf66a76d030e5fa40fa2771cc8987559680c87f5c7e7eb5f8026cc62a6ea6f301a3b17e5fad4 CVE-2018-6543.patch da7efaea69795bec35324748929befd504edf11454bca5cdd4a408ae144cd8783e45088277d5a2460a7cbd0f19222270f4249fc71bcf5359d1d96ade7ce8f6b1 CVE-2018-7643.patch 3a424369a49b5f970569748a9405c2927bfc5a300bced5ba1d2e9ce95757225d1727f8d05fbfb7771f7e88e67eaa895d9bece58a5004ef3ce2a83b43fc6f4452 CVE-2018-6759.patch a75552fc21209b34a62af9861f8ce25fe01f4dfec13a14918b2d77dfda77b49983abddc4cd0f1ae2901ef385731e56f98fe603911c9a757584b4dc7e45534efa CVE-2018-7642.patch 9ecb0bcf73f2c6e6f41875557ad0ac77e968ee4e7de0fd69d3a989109b2d648fe2441da720befa5c975d25cc8241570914229897ccdc3b6e6ff05e424a01fe1c CVE-2018-7569.patch cef3d0a50eda9296359f60feec7feb91610b500c74d0c42517a7f10b5b8b228257dbb6af55cf480d17d6532acb5dca708db1928aa4c6bf2d5c57b7a180a3d08a CVE-2018-6872.patch b73a5fe747f6a967ba4bcfeca59286f1d7b1324841860d31dd914eb96ab61dd5241cb8b6a8491e29aa9ccd63d46bee92e8635f6d4c49b7da46593d43cdbc2e55 CVE-2018-7568.patch 3578788a75e720aa17e92bf28074ee8bee764a7a6335ef6a1d766b83a67aae27bf806f1354cd919fc69bfb5e9c6579cd01449156c188ac45f1e16e33d10b986a CVE-2018-8945.patch"