aboutsummaryrefslogtreecommitdiffstats
path: root/main/binutils/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/binutils/APKBUILD')
-rw-r--r--main/binutils/APKBUILD103
1 files changed, 67 insertions, 36 deletions
diff --git a/main/binutils/APKBUILD b/main/binutils/APKBUILD
index ab2c4ed588f..e0c32f5079d 100644
--- a/main/binutils/APKBUILD
+++ b/main/binutils/APKBUILD
@@ -1,21 +1,31 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=binutils
-pkgver=2.34
-pkgrel=1
+pkgver=2.42
+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"
+license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
+ 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
binutils-ld-fix-static-linking.patch
- gold-mips.patch
- ld-bfd-mips.patch
+ LoongArch-Modify-inconsistent-behavior-of-ld-with-un.patch
"
builddir="$srcdir/$pkgname-$pkgver"
+options="!check"
+
+if [ -z "$BOOTSTRAP" ]; then
+ makedepends_host="$makedepends_host jansson-dev zstd-dev"
+ _noboot_configure="--enable-jansson --with-zstd"
+fi
+
+if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ] && [ "$CTARGET_ARCH" != "loongarch64" ]; then
+ subpackages="$subpackages $pkgname-gold"
+fi
if [ "$CHOST" != "$CTARGET" ]; then
pkgname="$pkgname-$CTARGET_ARCH"
@@ -24,6 +34,16 @@ if [ "$CHOST" != "$CTARGET" ]; then
fi
# secfixes:
+# 2.40-r10:
+# - CVE-2023-1972
+# 2.40-r0:
+# - CVE-2023-1579
+# 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
@@ -36,21 +56,29 @@ build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
+ local _gold_configure="--disable-gold"
+ local _plugin_configure="--enable-plugins"
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
+ _plugin_configure="--disable-plugins"
+ fi
+
+ if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ] && [ "$CTARGET_ARCH" != "loongarch64" ]; then
+ _gold_configure="--enable-gold"
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
+ if [ "$CTARGET_ARCH" = "riscv64" ] || [ "$CTARGET_ARCH" = "loongarch64" ]; then
+ _gold_configure="--disable-gold"
+ fi
+ CFLAGS="$CFLAGS -O2" \
+ CXXFLAGS="$CXXFLAGS -O2" \
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -60,20 +88,29 @@ build() {
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
+ --sysconfdir=/etc \
+ $_arch_configure \
+ $_cross_configure \
+ $_gold_configure \
+ $_plugin_configure \
+ $_noboot_configure \
+ --disable-gdb \
+ --disable-gprofng \
--disable-multilib \
- --enable-ld=default \
- --enable-gold=yes \
+ --disable-nls \
+ --disable-werror \
--enable-64-bit-bfd \
- --enable-plugins \
- --enable-relro \
+ --enable-colored-disassembly \
+ --enable-default-execstack=no \
+ --enable-default-hash-style=gnu \
--enable-deterministic-archives \
- $_cross_configure \
- $_arch_configure \
- $_hash_style_configure \
- --with-pic \
- --disable-werror \
- --disable-nls \
+ --enable-ld=default \
+ --enable-new-dtags \
+ --enable-relro \
+ --enable-threads \
+ --with-bugurl="https://gitlab.alpinelinux.org/alpine/aports/-/issues" \
--with-mmap \
+ --with-pic \
--with-system-zlib
make
}
@@ -87,30 +124,24 @@ package() {
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 -r "${pkgdir:?}"/usr/share
rm -f "$pkgdir"/usr/lib/libiberty.a
+ rm -r "${pkgdir:?}"/usr/lib/bfd-plugins
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
+ amove usr/bin/ld.gold
fi
- mkdir -p "$subpkgdir"/usr/$CTARGET/bin
- mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold
+ amove usr/$CTARGET/bin/ld.gold
}
-sha512sums="2c7976939dcf5e8c5b7374cccd39bfe803b1bec73c6abfa0eb17c24e1942574c6bdb874c66a092a82adc443182eacd8a5a8001c19a76101f0c7ba40c27de0bbd binutils-2.34.tar.xz
+sha512sums="
+155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 binutils-2.42.tar.xz
+70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
-f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
-314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch"
+f901833707dbe38c6519df91f03c51886e7f11aabd0c2dbe869eb6ffedb38201c020a6d34b3fa8aaa7d195349a0dd934709ca41109047348a7f303d2a8bf4f75 LoongArch-Modify-inconsistent-behavior-of-ld-with-un.patch
+"