# Automatically generated aport, do not edit! # Generator: pmbootstrap aportgen binutils-aarch64 # Based on: main/binutils CTARGET_ARCH=aarch64 CTARGET="$(arch_to_hostspec $CTARGET_ARCH)" pkgname=binutils-aarch64 pkgver=2.40 pkgrel=3 pkgdesc="Tools necessary to build programs for aarch64 targets" url="https://www.gnu.org/software/binutils/" makedepends_build="bison flex texinfo" makedepends_host="zlib-dev zstd-dev" makedepends="$makedepends_build $makedepends_host" arch="x86_64" license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause" subpackages="binutils-dev binutils-doc" source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz binutils-ld-fix-static-linking.patch 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch " builddir="$srcdir/binutils-$pkgver" if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then subpackages="$subpackages binutils-gold" fi if [ "$CHOST" != "$CTARGET" ]; then pkgname="binutils-$CTARGET_ARCH" subpackages="" sonameprefix="binutils:" fi # secfixes: # 2.39-r2: # - CVE-2022-38533 # 2.39-r0: # - CVE-2022-38126 # 2.35.2-r1: # - CVE-2021-3487 # 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="" local _gold_configure="--disable-gold" local _plugin_configure="--enable-plugins" case "$CARCH" in riscv64) # binutils creates empty textrels here # https://sourceware.org/bugzilla/show_bug.cgi?id=25694 local no_textrels="" ;; *) # set -z text by default # this is the default for linkers such as ld.lld too local no_textrels="--enable-textrel-check=error" ;; esac if [ "$CHOST" != "$CTARGET" ]; then _sysroot="$CBUILDROOT" _cross_configure="--disable-install-libiberty" _plugin_configure="--disable-plugins" fi if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then _gold_configure="--enable-gold" fi if [ "$CTARGET_ARCH" = "x86_64" ]; then _arch_configure="--enable-targets=x86_64-pep" fi if [ "$CTARGET_ARCH" = "riscv64" ]; then _gold_configure="--disable-gold" fi ./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 \ --disable-gprofng \ --enable-ld=default \ $_gold_configure \ --enable-64-bit-bfd \ $_plugin_configure \ --enable-relro \ --enable-deterministic-archives \ --enable-default-execstack=no \ $_cross_configure \ $_arch_configure \ --enable-default-hash-style=gnu \ $no_textrels \ --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 rm -r "${pkgdir:?}"/usr/lib/bfd-plugins fi } gold() { pkgdesc="GNU binutils - gold linker" if [ -e "$pkgdir"/usr/bin/ld.gold ]; then amove usr/bin/ld.gold fi amove usr/$CTARGET/bin/ld.gold } sha512sums=" a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch 70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch "