commit: 191c013e236ac9faeff78290f71af5683b2e2fa6
parent 545bb42ca800af28086ebd1fa2c8ed46726a6f74
Author: fosslinux <fosslinux@aussies.space>
Date: Thu, 21 Dec 2023 11:03:15 +1100
Update binutils to 2.41
Diffstat:
13 files changed, 314 insertions(+), 299 deletions(-)
diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs
@@ -9,7 +9,7 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_
298dcf17a439adb306237b308e3c4ed3d376cb863ae0f0f08bfdf1f3199a548b autoconf-2.69_0.tar.bz2
8c2401edf1c68910005bbcb8b8e84727a46f7d9643d2ad1267bd0259078dadc4 autoconf-2.71_0.tar.bz2
6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2
-56cb475253b1175f09d69bc81a5b1d954f486c9b97b1a0ae3217e63d18f64573 autogen-5.18.16_0.tar.bz2
+9b52663ad7c591520805b96c519c4a291d8a9a960a907341c5b78cd631ebb344 autogen-5.18.16_0.tar.bz2
02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2
34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2
a7bd12bd0c639783ce1c0e9f640cf004a87460bbda8154bc550c5e6884457b48 automake-1.15.1_0.tar.bz2
@@ -23,8 +23,8 @@ c5807850a377e4bb9aa4121d9781d145bdd80327626a9419630a75ce2c8d9c71 automake-1.9.6
f8a55bf656f950ee3c5cea48af03f552166f6db9926b78c78843f3cc52a6e22d bash-5.2.15_0.tar.bz2
ebc631ee8e9382650005984ec5f3910492ccb6fb2656b4c0af0f4afc16998906 bc-1.07.1_0.tar.bz2
28b38078f88d77ebfa8ad1a514a5724fe11581bdbfc72b79f087fa24986ac9cb binutils-2.30_0.tar.bz2
-6eb26a856e1eb79a1b3f6d76e42138bf1b868fc5f229c3a1e22d3eb68dfb88ba binutils-2.38_0.tar.bz2
-57e339eb76a5a0f4b7298d0071f83354911dda928f4aa54e47a21ebc9c8390a7 binutils-2.38_1.tar.bz2
+da658346866061324b92a6b734561257acfdb981783ad5794d67a0cd56e14e58 binutils-2.41_0.tar.bz2
+026447a32ab08a8a5150bab82a2f150af4a2ed90c47cfde631e1460eaed019aa binutils-2.41_1.tar.bz2
f0bb18831983493b82fde53917e8d16c6a380761ac5e71e14769a82193fee788 bison-2.3_0.tar.bz2
7018edd13a1dd5ba35fdc8be49af91b28901aad3080fdeebdb98b79f8a90d7ed bison-3.4.1_0.tar.bz2
41c9a95b11cf183524927f52f9f7e97a479e0261c0551f6a4c22690b931243db bison-3.4.1_1.tar.bz2
@@ -49,17 +49,17 @@ b3a8d59229289ca5a1de6a24c9c828d2847144f6662e0d5b7f41e7ff6e57abaa flex-2.5.33_0.
408131b1c033a5f8a6845997b049784be0b466cec107a71270e5a04dae2c1e6c flex-2.6.4_0.tar.bz2
5ff7fbe16b55563719b108260bd6a34ebabab0465d758ca98cba522932532e45 gawk-3.0.4_0.tar.bz2
6de1c1380026ef9948387e665610185b6014f47a80453177a6c81898c95cbbd3 gc-8.0.4_0.tar.bz2
-872eabeff12a0b1b9dc2bd146f2c1e493597281795548377ff1ec5f6a1853e88 gcc-10.4.0_0.tar.bz2
-4f50d8f5e1f123a8e6d34dff1d5892f79d250f2fb5d7fa2a94cff1f2e8f9649c gcc-13.1.0_0.tar.bz2
+c99d080cf17ac3f75cbae67095cb76220a92d96d877c92c896a7f05c9c94e92d gcc-10.4.0_0.tar.bz2
+e0c9e7f4f0cd0d5027f2a38eb262f883133c31ac9ec93ee6afa5abc028096bc0 gcc-13.1.0_0.tar.bz2
526c3710b5067bd2fc869371541d7e71dcff1cffcba7ddecabedc33967e19e2c gcc-4.0.4_0.tar.bz2
c1bf792e90df13bf7a24d3f8ce3939fd96ff61b8117e4dcef75605974f3fcf25 gcc-4.0.4_1.tar.bz2
7ac087bf006188154c28401d0c875ede56076c19d41bc54ffa0d7cc18ce40800 gcc-4.7.4_0.tar.bz2
dc67fc1b132fa3945349efe74c5b2197bd0b6babf4d29d2deddd04f09d9af680 gettext-0.21_0.tar.bz2
309282ba840f80b5e10897b1221f3ff3329b9e05b982c788d03652f411974524 gmp-6.2.1_0.tar.bz2
-f5917ffad5dd282d5ea17e791b470455c328ea0ebc845ed5ec80937a8d0eb933 gperf-3.1_0.tar.bz2
+62edfa633f64202b2d29199d11d56a897654a441c7ae39a4d59ca5fe75199f61 gperf-3.1_0.tar.bz2
67d706423e079a9cd764fd9607027d296c0ff2380c1104006a2230a299eb2c1d grep-2.4_0.tar.bz2
-0939a34d58ff31e2c234f6f47f964633ceae4839de49ce368ad027c016850d58 grep-3.7_0.tar.bz2
-9dacbb0d2a12585079ba2527af5bb165337aa6fe68fa42b93842abe3b8d46ef6 guile-3.0.9_0.tar.bz2
+8e612afb9a439aa8bf5db0fc2589eec890a6017690412d5c8e88a5838730b42c grep-3.7_0.tar.bz2
+e2a85aad6d51e52c9a30afeed058f95172fde1215f77243549274672990f6237 guile-3.0.9_0.tar.bz2
8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2
f650c3b24de6edd49cd662c9e9ce11f7b0b5ea6df66d561b46a032b08fc34faa kbd-1.15_0.tar.bz2
3e3bc64af937c351be2538bb89de99f36ffc240721c32fcc84a76769e235ed66 kexec-linux-1.0.0_0.tar.bz2
@@ -82,7 +82,7 @@ e69554b0a77b419ddd5d0a0e418ba4005ecd0f6784c92a6928a0270bd929a098 make-3.82_0.ta
b79e0f8a39ba8880d43aa27551b72915655c62af39125e1f4ac8f8e69e71aaca musl-1.1.24_2.tar.bz2
81f79a0faf58e105c5f12d9f538d3ea7578a3b361e633ab8f47324ec23ec9de6 musl-1.2.4_0.tar.bz2
6dc5e763b747b66f72692c6820d7f46b7f4cf2e2fe05229a1d01c03919c1c936 musl-1.2.4_1.tar.bz2
-107548dd69ff4d5dfceb5891eed8a237cc6a22fd65915b44c838be1eba07668b musl-1.2.4_2.tar.bz2
+820203286127e7c22cee9f1b3cff664431f10d14c3f22f00b3e771fd849fd449 musl-1.2.4_2.tar.bz2
c490016e49bbf77e7f63071f7aa60e8290a0c67f017846def1c3f65bd10d5712 openssl-1.1.1l_0.tar.bz2
71864d042cdc564b65eab21360902c714e9b43f80a19689c5600589529b267e7 patch-2.7.6_0.tar.bz2
914a7abf36a64723b6e9f9b0b6ccd19c8e544fa798896a2bb1151dc341890c22 perl-5.000_0.tar.bz2
@@ -93,19 +93,19 @@ b86fc586d72a6d204d0b9017afe17aa2439529e13f43befc56648b78de17c8f8 perl5.004-05_0
fdccd3ba27a44d2149f159040414a04b39bfc72673ba36f50051b61199cc425c perl-5.32.1_0.tar.bz2
9fa8850897248d77d554caa2b3d52e7890308cbf28750ffc24c09f498aee563c perl-5.6.2_0.tar.bz2
1b9d4260edf7b2241d10e4c4ad17d0f90047bd4bf42f2487a7133902529e9dfe pkg-config-0.29.2_0.tar.bz2
-d4a263a4039b8d18ab95b5a7188a5c8b0defdf17d1cf899bf23a597be2df0658 python-2.0.1_0.tar.bz2
-95ecbf909a8781d77e9b89e6ff3dc39e3ed702aebdec8b0a491df2dd4af8c780 python-2.0.1_1.tar.bz2
-14b20bd76f6dfab0cc19141fd8d39c2841227b3876e5d107b1b57b05a51a83aa python-2.3.7_0.tar.bz2
-5395d185003b22c607eb55a5b9f1adca5bbe178e7c774faabe758d0499936397 python-2.3.7_1.tar.bz2
-374fc8c2577d681b7aa2670000fcc2450e2b50eb1cc8d739994ece69f83f4155 python-2.5.6_0.tar.bz2
-e1321250c6421515f982a89ee4ceb8a8b7d2ecc3e192c7c7ede58e98f2bc75de python-3.11.1_0.tar.bz2
-8f096d93f799a6575bae06a578625b92a888c25ed6b4d296173fc20fcadb003a python-3.1.5_0.tar.bz2
-fb123d00e591452a6f077aaa8aa22ab8693e665ffa95e185a2bf79883d3d4684 python-3.1.5_1.tar.bz2
-a9b73271407427f749406e1d3eabd51f627fd0fbe92332b792eeff1b9bfc44a5 python-3.3.7_0.tar.bz2
-f95ce9de6002c47d82c41804e943a7079614fe7bc669fba15fe4552f9f08a7e3 python-3.4.10_0.tar.bz2
-18bf5480d894d65bb11cad9d8591410e8a3b399f6eef3568d45144c363cd7d43 python-3.8.16_0.tar.bz2
+1e882c3206f9d1de2a9be8b5c6ae4cc65e80a4de607bd521058577bf4169c0e9 python-2.0.1_0.tar.bz2
+aba9710341db75b78c7bc1eb4ef45b9496e23f7a356128af6c2b116ee0f3f31a python-2.0.1_1.tar.bz2
+d497c9b614194b941620bb5c5111fc72eca8cafd7d4f476eacb24fb7f909b614 python-2.3.7_0.tar.bz2
+8a977205933431c2a4207f647cb683b570dfdb0146e21abf5fab3f8426e1356b python-2.3.7_1.tar.bz2
+34e5083ed3e72da5aa5950acebf9e95464089d693e3d6a047a2b69b6103f5ca9 python-2.5.6_0.tar.bz2
+52ffb1ea6f2b893a6fd26f930c8ff63f78ddcc31ac3ec9c2ddade555205aa1ef python-3.11.1_0.tar.bz2
+3508248f299b73c50e3607c4c294d40face05170476a5026b0821aed69025863 python-3.1.5_0.tar.bz2
+12b1ffc7ec98ba8f807160b93ba69a694d5395567c3bcac1e49e8f8d1d50de43 python-3.1.5_1.tar.bz2
+60b93253a2078f849f81e7e1ed6233e30702f03b1893640eee95671d814f5514 python-3.3.7_0.tar.bz2
+da7c8ec579dd225c0d8bee63d95aeeb27ac2d5a60d4eefe298508cbf86bf506c python-3.4.10_0.tar.bz2
+0be505f63205b4bc1b1421896c610468ad1a2194bbc4c9abf58f61685c2023d1 python-3.8.16_0.tar.bz2
6081832f1fc258df7dd927986821991b49fa78a71b76f4b37b5c34a8ebc9bc86 sed-4.0.9_0.tar.bz2
-e58d8ec46c5b31175de9598bf0da214b88ccbd4cca7a787f3d048c44edaf3ceb sed-4.8_0.tar.bz2
+e8daec00b2c2de7b18efbec057dc9290eed06668806c6f5a48914d4a5cd95eb4 sed-4.8_0.tar.bz2
912d8f344104f1322255d6210c7c7e1371413ab530b2c6796e6aa565c74bf647 tar-1.34_0.tar.bz2
d5d0df210248a385ae255cc5651369108e9a71fa8668821a6b1ed30a8d7364a1 tcc-0.9.27_0.tar.bz2
79276f54bc57933b6002e5511e6d8d88e22159dcf1cbbc9da763c38691a2c628 tcc-0.9.27_1.tar.bz2
@@ -113,6 +113,6 @@ d5d0df210248a385ae255cc5651369108e9a71fa8668821a6b1ed30a8d7364a1 tcc-0.9.27_0.t
2b503cd31d3326ac1ed0eb9f506ac93c93770da51164e152a812cd248961069c tcc-0.9.27_3.tar.bz2
50ebaa1d8fcc4a03a43d431eb71e2f435cc8712ae47d400564df3716037d553a texinfo-6.7_0.tar.bz2
229d9189adac10ad2a2c76fc147a4c317fc5b34026cef1c47edc9159aee480da util-linux-2.19.1_0.tar.bz2
-5a1fdd2b42080f3b4808ceb1bf80a95873e614a25524545e6803b7d9f1fd5605 which-2.21_0.tar.bz2
+ecdb7ffeb9256f6a9760be70969fe5dea9cde6a538cc88595281fe44340e98a1 which-2.21_0.tar.bz2
3fade2079cc91f2c5624ff7247220059caee82e7de493332103d7a78155400b2 xz-5.4.1_0.tar.bz2
ca8ec9876a7334f5f87e1159e0efe343b8b497ffb0dea8b548223035ecd67f9e zlib-1.2.13_0.tar.bz2
diff --git a/steps/binutils-2.38/pass1.sh b/steps/binutils-2.38/pass1.sh
@@ -1,117 +0,0 @@
-# SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
-# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
-# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
-# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-
-src_prepare() {
- default
-
- # Remove unused generated files
- rm etc/Makefile.in etc/configure
-
- rm zlib/aclocal.m4 zlib/configure
-
- # Regenerate autoconf
- for dir in bfd binutils gas gold gprof intl ld libctf libiberty opcodes; do
- cd $dir
- AUTOPOINT=true ACLOCAL=aclocal-1.15 AUTOMAKE=automake-1.15 autoreconf-2.69 -fi
- cd ..
- done
- ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
-
- # Regenerate directories with Makefile.am only
- pushd gold
- automake-1.15 -fai testsuite/Makefile
- popd
- pushd bfd
- automake-1.15 -fai doc/Makefile
- popd
-
- # Rebuild bison files
- touch -- */*.y
- rm binutils/arparse.c binutils/arparse.h
- rm binutils/defparse.c binutils/defparse.h
- rm binutils/mcparse.c binutils/mcparse.h
- rm binutils/rcparse.c binutils/rcparse.h
- rm binutils/sysinfo.c binutils/sysinfo.h
- rm gas/config/bfin-parse.c gas/config/bfin-parse.h
- rm gas/config/loongarch-parse.c gas/config/loongarch-parse.h
- rm gas/config/m68k-parse.c gas/config/rl78-parse.c
- rm gas/config/rl78-parse.h gas/config/rx-parse.c
- rm gas/config/rx-parse.h gas/itbl-parse.c
- rm gas/itbl-parse.h gold/yyscript.c
- rm gold/yyscript.h intl/plural.c
- rm ld/deffilep.c ld/deffilep.h
- rm ld/ldgram.c ld/ldgram.h
-
- # Rebuild flex generated files
- touch -- */*.l */*/*.l
- rm binutils/arlex.c binutils/deflex.c binutils/syslex.c
- rm gas/config/bfin-lex.c gas/config/loongarch-lex.c gas/itbl-lex.c
- rm ld/ldlex.c
-
- # Remove prebuilt texinfo files
- find . -type f -name '*.info*' \
- -not -wholename './binutils/sysroff.info' \
- -delete
-
- # Remove pregenerated opcodes files
- rm opcodes/i386-init.h opcodes/i386-tbl.h
- rm opcodes/ia64-asmtab.c
- rm opcodes/z8k-opc.h
- rm opcodes/aarch64-asm-2.c opcodes/aarch64-opc-2.c opcodes/aarch64-dis-2.c
- rm $(grep -l 'MACHINE GENERATED' opcodes/*.c opcodes/*.h)
-
- # Regenerate MeP sections
- ./bfd/mep-relocs.pl
-
- # Manpages
- find . -type f \( -name '*.1' -or -name '*.man' \) -delete
-}
-
-src_configure() {
- for dir in intl libctf libiberty opcodes bfd binutils gas gprof ld; do
- cd $dir
-
- ./configure \
- --disable-nls \
- --enable-install-libiberty \
- --enable-deterministic-archives \
- --with-system-zlib \
- --build=i386-unknown-linux-musl \
- --host=i386-unknown-linux-musl \
- --target=i386-unknown-linux-musl \
- --program-prefix="" \
- --prefix="${PREFIX}" \
- --libdir="${LIBDIR}" \
- --with-sysroot= \
- --srcdir=.
- cd ..
- done
-}
-
-src_compile() {
- make -C bfd headers
- for dir in libiberty bfd opcodes libctf binutils gas gprof ld; do
- make "${MAKEJOBS}" -C $dir tooldir=${PREFIX} CFLAGS="-std=c99"
- done
-}
-
-src_install() {
- for dir in libiberty bfd opcodes libctf binutils gas gprof ld; do
- make -C $dir tooldir=${PREFIX} DESTDIR="${DESTDIR}" install
- done
-
- # Create triplet symlinks
- pushd "${DESTDIR}${PREFIX}/bin"
- for f in *; do
- ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
- done
- popd
-
- # FIXME: Binutils' manpages dates are not reproducible
- rm -r "${DESTDIR}${PREFIX}/share/man"
-}
diff --git a/steps/binutils-2.38/pass2.sh b/steps/binutils-2.38/pass2.sh
@@ -1,122 +0,0 @@
-# SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
-# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
-# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
-# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-src_prepare() {
- default
-
- # Remove unused generated files
- rm etc/Makefile.in etc/configure
- rm zlib/aclocal.m4 zlib/configure
-
- # Regenerate top-level (autogen + autotools)
- autogen Makefile.def
- ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
-
- # Regenerate autoconf
- for dir in bfd binutils gas gold gprof intl ld libctf libiberty opcodes; do
- cd $dir
- ACLOCAL=aclocal-1.15 AUTOMAKE=automake-1.15 autoreconf-2.69 -fi
- cd ..
- done
-
- # Regenerate directories with Makefile.am only
- pushd gold
- automake-1.15 -fai testsuite/Makefile
- popd
- pushd bfd
- automake-1.15 -fai doc/Makefile
- popd
-
- # intl/ Makefile is a bit broken because of new gettext
- sed -i 's/@USE_INCLUDED_LIBINTL@/no/' intl/Makefile.in
-
- # There is no way to add -all-static to libtool LDFLAGS (such a thing doesn't exist)
- # -all-static is required for static binaries with libtool
- sed -i 's:\(--mode=link $(CCLD)\):\1 -all-static:' {bfd,binutils,opcodes,ld,libctf,gas,gprof}/Makefile.in
-
- # Rebuild bison files
- touch -- */*.y
- rm binutils/arparse.c binutils/arparse.h
- rm binutils/defparse.c binutils/defparse.h
- rm binutils/mcparse.c binutils/mcparse.h
- rm binutils/rcparse.c binutils/rcparse.h
- rm binutils/sysinfo.c binutils/sysinfo.h
- rm gas/config/bfin-parse.c gas/config/bfin-parse.h
- rm gas/config/loongarch-parse.c gas/config/loongarch-parse.h
- rm gas/config/m68k-parse.c gas/config/rl78-parse.c
- rm gas/config/rl78-parse.h gas/config/rx-parse.c
- rm gas/config/rx-parse.h gas/itbl-parse.c
- rm gas/itbl-parse.h gold/yyscript.c
- rm gold/yyscript.h intl/plural.c
- rm ld/deffilep.c ld/deffilep.h
- rm ld/ldgram.c ld/ldgram.h
-
- # Rebuild flex generated files
- touch -- */*.l */*/*.l
- rm binutils/arlex.c binutils/deflex.c binutils/syslex.c
- rm gas/config/bfin-lex.c gas/config/loongarch-lex.c gas/itbl-lex.c
- rm ld/ldlex.c
-
- # Remove prebuilt texinfo files
- find . -type f -name '*.info*' \
- -not -wholename './binutils/sysroff.info' \
- -delete
-
- # Remove pregenerated opcodes files
- rm opcodes/i386-init.h opcodes/i386-tbl.h
- rm opcodes/ia64-asmtab.c
- rm opcodes/z8k-opc.h
- rm opcodes/aarch64-asm-2.c opcodes/aarch64-opc-2.c opcodes/aarch64-dis-2.c
- rm $(grep -l 'MACHINE GENERATED' opcodes/*.c opcodes/*.h)
-
- # Regenerate MeP sections
- ./bfd/mep-relocs.pl
-
- # Manpages
- find . -type f \( -name '*.1' -or -name '*.man' \) -delete
-}
-
-src_configure() {
- mkdir build
- cd build
-
- LDFLAGS="-static" \
- ../configure \
- --prefix="${PREFIX}" \
- --libdir="${LIBDIR}" \
- --build=i386-unknown-linux-musl \
- --host=i386-unknown-linux-musl \
- --target=i386-unknown-linux-musl \
- --enable-static \
- --disable-nls \
- --disable-multilib \
- --disable-plugins \
- --enable-threads \
- --enable-64-bit-bfd \
- --enable-gold \
- --enable-ld=default \
- --enable-install-libiberty \
- --enable-deterministic-archives \
- --with-system-zlib \
- --program-prefix="" \
- --with-sysroot= \
- --srcdir=..
-}
-
-src_install() {
- default
-
- # Create triplet symlinks
- pushd "${DESTDIR}${PREFIX}/bin"
- for f in *; do
- ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
- done
- popd
-
- # FIXME: Binutils' manpages dates are not reproducible
- rm -r "${DESTDIR}${PREFIX}/share/man"
-}
diff --git a/steps/binutils-2.38/patches/libiberty-add-missing-config-directory-reference.patch b/steps/binutils-2.38/patches/libiberty-add-missing-config-directory-reference.patch
@@ -1,18 +0,0 @@
-SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
-
-SPDX-License-Identifier: GPL-3.0-or-later
-
-Add missing AC_CONFIG_MACRO_DIR.
-
-Required by autoreconf to create aclocal.m4 correctly.
-
---- /libiberty/configure.ac 2022-01-22 14:14:09.000000000 +0200
-+++ libiberty/configure.ac 2022-09-04 00:01:02.941738129 +0300
-@@ -2,6 +2,7 @@
-
- AC_INIT
- AC_CONFIG_SRCDIR([xmalloc.c])
-+AC_CONFIG_MACRO_DIR(../config)
-
- # This works around the fact that libtool configuration may change LD
- # for this particular configuration, but some shells, instead of
diff --git a/steps/binutils-2.38/patches/opcodes-ensure-i386-init-dependencies-are-satisfied.patch b/steps/binutils-2.38/patches/opcodes-ensure-i386-init-dependencies-are-satisfied.patch
@@ -1,17 +0,0 @@
-SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
-
-SPDX-License-Identifier: GPL-3.0-or-later
-
-Ensure i386-init.h dependencies are satisfied.
-
---- opcodes/Makefile.am 2022-01-22 14:14:09.000000000 +0200
-+++ opcodes/Makefile.am 2022-09-13 21:09:04.353324699 +0300
-@@ -575,7 +575,7 @@ i386-gen.o: i386-gen.c i386-opc.h $(srcd
- $(srcdir)/i386-tbl.h: $(srcdir)/i386-init.h
- @echo $@
-
--$(srcdir)/i386-init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h
-+$(srcdir)/i386-init.h: i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h
- $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - \
- < $(srcdir)/i386-opc.tbl \
- | ./i386-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir)
diff --git a/steps/binutils-2.38/sources b/steps/binutils-2.38/sources
@@ -1 +0,0 @@
-https://mirrors.kernel.org/gnu/binutils/binutils-2.38.tar.xz e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024
diff --git a/steps/binutils-2.41/pass1.sh b/steps/binutils-2.41/pass1.sh
@@ -0,0 +1,118 @@
+# SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
+# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
+# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
+# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+
+src_prepare() {
+ default
+
+ # Remove unused generated files
+ rm etc/Makefile.in etc/configure
+ rm zlib/aclocal.m4 zlib/configure
+
+ # Remove gprofng
+ rm -r gprofng
+
+ # Regenerate autoconf
+ for dir in bfd binutils gas gold gprof intl ld libctf libiberty libsframe opcodes; do
+ cd $dir
+ AUTOPOINT=true ACLOCAL=aclocal-1.15 AUTOMAKE=automake-1.15 autoreconf-2.69 -fi
+ cd ..
+ done
+ ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
+
+ # Regenerate directories with Makefile.am only
+ pushd gold
+ automake-1.15 -fai testsuite/Makefile
+ popd
+
+ # Rebuild bison files
+ touch -- */*.y
+ rm binutils/arparse.c binutils/arparse.h
+ rm binutils/defparse.c binutils/defparse.h
+ rm binutils/mcparse.c binutils/mcparse.h
+ rm binutils/rcparse.c binutils/rcparse.h
+ rm binutils/sysinfo.c binutils/sysinfo.h
+ rm gas/config/bfin-parse.c gas/config/bfin-parse.h
+ rm gas/config/loongarch-parse.c gas/config/loongarch-parse.h
+ rm gas/config/m68k-parse.c gas/config/rl78-parse.c
+ rm gas/config/rl78-parse.h gas/config/rx-parse.c
+ rm gas/config/rx-parse.h gas/itbl-parse.c
+ rm gas/itbl-parse.h gold/yyscript.c
+ rm gold/yyscript.h intl/plural.c
+ rm ld/deffilep.c ld/deffilep.h
+ rm ld/ldgram.c ld/ldgram.h
+
+ # Rebuild flex generated files
+ touch -- */*.l */*/*.l
+ rm binutils/arlex.c binutils/deflex.c binutils/syslex.c
+ rm gas/config/bfin-lex.c gas/config/loongarch-lex.c gas/itbl-lex.c
+ rm ld/ldlex.c
+
+ # Remove prebuilt texinfo files
+ find . -type f -name '*.info*' \
+ -not -wholename './binutils/sysroff.info' \
+ -delete
+
+ # Remove pregenerated opcodes files
+ rm opcodes/i386-init.h opcodes/i386-tbl.h opcodes/i386-mnem.h
+ rm opcodes/ia64-asmtab.c
+ rm opcodes/z8k-opc.h
+ rm opcodes/aarch64-asm-2.c opcodes/aarch64-opc-2.c opcodes/aarch64-dis-2.c
+ rm $(grep -l 'MACHINE GENERATED' opcodes/*.c opcodes/*.h)
+
+ rm libiberty/functions.texi
+
+ # Regenerate MeP sections
+ ./bfd/mep-relocs.pl
+
+ # Manpages
+ find . -type f \( -name '*.1' -or -name '*.man' \) -delete
+}
+
+src_configure() {
+ for dir in intl libctf libiberty libsframe opcodes bfd binutils gas gprof ld; do
+ cd $dir
+
+ ./configure \
+ --disable-nls \
+ --enable-install-libiberty \
+ --enable-deterministic-archives \
+ --with-system-zlib \
+ --build=i386-unknown-linux-musl \
+ --host=i386-unknown-linux-musl \
+ --target=i386-unknown-linux-musl \
+ --program-prefix="" \
+ --prefix="${PREFIX}" \
+ --libdir="${LIBDIR}" \
+ --with-sysroot= \
+ --srcdir=.
+ cd ..
+ done
+}
+
+src_compile() {
+ make -C bfd headers
+ for dir in libiberty libsframe bfd opcodes libctf binutils gas gprof ld; do
+ make "${MAKEJOBS}" -C $dir tooldir=${PREFIX} CFLAGS="-std=c99"
+ done
+}
+
+src_install() {
+ for dir in libiberty bfd opcodes libctf libsframe binutils gas gprof ld; do
+ make -C $dir tooldir=${PREFIX} DESTDIR="${DESTDIR}" install
+ done
+
+ # Create triplet symlinks
+ pushd "${DESTDIR}${PREFIX}/bin"
+ for f in *; do
+ ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
+ done
+ popd
+
+ # FIXME: Binutils' manpages dates are not reproducible
+ rm -r "${DESTDIR}${PREFIX}/share/man"
+}
diff --git a/steps/binutils-2.41/pass2.sh b/steps/binutils-2.41/pass2.sh
@@ -0,0 +1,127 @@
+# SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
+# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
+# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
+# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+src_prepare() {
+ default
+
+ # Remove unused generated files
+ rm etc/Makefile.in etc/configure
+ rm zlib/aclocal.m4 zlib/configure
+
+ # Regenerate top-level (autogen + autotools)
+ autogen Makefile.def
+ ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
+
+ # Regenerate autoconf
+ for dir in bfd binutils gas gold gprof gprofng intl ld libctf libiberty libsframe opcodes; do
+ cd $dir
+ ACLOCAL=aclocal-1.15 AUTOMAKE=automake-1.15 autoreconf-2.69 -fi
+ cd ..
+ done
+
+ # Regenerate directories with Makefile.am only
+ pushd gold
+ automake-1.15 -fai testsuite/Makefile
+ popd
+ pushd gprofng
+ automake-1.15 -fai doc/Makefile
+ automake-1.15 -fai gp-display-html/Makefile
+ automake-1.15 -fai src/Makefile
+ popd
+
+ # intl/ Makefile is a bit broken because of new gettext
+ sed -i 's/@USE_INCLUDED_LIBINTL@/no/' intl/Makefile.in
+
+ # There is no way to add -all-static to libtool LDFLAGS (such a thing doesn't exist)
+ # -all-static is required for static binaries with libtool
+ sed -i 's:\(--mode=link $(CCLD)\):\1 -all-static:' {bfd,binutils,opcodes,ld,libctf,gas,gprof}/Makefile.in
+
+ # Rebuild bison files
+ touch -- */*.y
+ rm binutils/arparse.c binutils/arparse.h
+ rm binutils/defparse.c binutils/defparse.h
+ rm binutils/mcparse.c binutils/mcparse.h
+ rm binutils/rcparse.c binutils/rcparse.h
+ rm binutils/sysinfo.c binutils/sysinfo.h
+ rm gas/config/bfin-parse.c gas/config/bfin-parse.h
+ rm gas/config/loongarch-parse.c gas/config/loongarch-parse.h
+ rm gas/config/m68k-parse.c gas/config/rl78-parse.c
+ rm gas/config/rl78-parse.h gas/config/rx-parse.c
+ rm gas/config/rx-parse.h gas/itbl-parse.c
+ rm gas/itbl-parse.h gold/yyscript.c
+ rm gold/yyscript.h intl/plural.c
+ rm ld/deffilep.c ld/deffilep.h
+ rm ld/ldgram.c ld/ldgram.h
+
+ # Rebuild flex generated files
+ touch -- */*.l */*/*.l
+ rm binutils/arlex.c binutils/deflex.c binutils/syslex.c
+ rm gas/config/bfin-lex.c gas/config/loongarch-lex.c gas/itbl-lex.c
+ rm ld/ldlex.c
+
+ # Remove prebuilt texinfo files
+ find . -type f -name '*.info*' \
+ -not -wholename './binutils/sysroff.info' \
+ -delete
+
+ # Remove pregenerated opcodes files
+ rm opcodes/i386-init.h opcodes/i386-tbl.h opcodes/i386-mnem.h
+ rm opcodes/ia64-asmtab.c
+ rm opcodes/z8k-opc.h
+ rm opcodes/aarch64-asm-2.c opcodes/aarch64-opc-2.c opcodes/aarch64-dis-2.c
+ rm $(grep -l 'MACHINE GENERATED' opcodes/*.c opcodes/*.h)
+
+ rm libiberty/functions.texi
+
+ # Regenerate MeP sections
+ ./bfd/mep-relocs.pl
+
+ # Manpages
+ find . -type f \( -name '*.1' -or -name '*.man' \) -delete
+}
+
+src_configure() {
+ mkdir build
+ cd build
+
+ LDFLAGS="-static" \
+ ../configure \
+ --prefix="${PREFIX}" \
+ --libdir="${LIBDIR}" \
+ --build=i386-unknown-linux-musl \
+ --host=i386-unknown-linux-musl \
+ --target=i386-unknown-linux-musl \
+ --enable-static \
+ --disable-nls \
+ --disable-multilib \
+ --disable-plugins \
+ --disable-gprofng \
+ --enable-threads \
+ --enable-64-bit-bfd \
+ --enable-gold \
+ --enable-ld=default \
+ --enable-install-libiberty \
+ --enable-deterministic-archives \
+ --with-system-zlib \
+ --program-prefix="" \
+ --with-sysroot= \
+ --srcdir=..
+}
+
+src_install() {
+ default
+
+ # Create triplet symlinks
+ pushd "${DESTDIR}${PREFIX}/bin"
+ for f in *; do
+ ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
+ done
+ popd
+
+ # FIXME: Binutils' manpages dates are not reproducible
+ rm -r "${DESTDIR}${PREFIX}/share/man"
+}
diff --git a/steps/binutils-2.38/patches/new-gettext.patch b/steps/binutils-2.41/patches/new-gettext.patch
diff --git a/steps/binutils-2.41/patches/no-maint-functions-texi.patch b/steps/binutils-2.41/patches/no-maint-functions-texi.patch
@@ -0,0 +1,26 @@
+SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: GPL-3.0-or-later
+
+Ensure functions.texi dependencies are satisfied.
+
+--- libiberty/Makefile.in 2023-12-08 15:18:57.985791235 +1100
++++ libiberty/Makefile.in 2023-12-08 15:19:15.391252344 +1100
+@@ -368,12 +368,12 @@
+ libiberty.html : $(srcdir)/libiberty.texi $(TEXISRC)
+ $(MAKEINFO) --no-split --html -I$(srcdir) -o $@ $<
+
+-@MAINT@$(srcdir)/functions.texi : stamp-functions
+-@MAINT@ @true
++$(srcdir)/functions.texi : stamp-functions
++ @true
+
+-@MAINT@stamp-functions : $(CFILES:%=$(srcdir)/%) $(TEXIFILES:%=$(srcdir)/%) $(srcdir)/gather-docs Makefile
+-@MAINT@@HAVE_PERL@ $(PERL) $(srcdir)/gather-docs $(srcdir) $(srcdir)/functions.texi $(CFILES) $(TEXIFILES)
+-@MAINT@ echo stamp > stamp-functions
++stamp-functions : $(CFILES:%=$(srcdir)/%) $(TEXIFILES:%=$(srcdir)/%) $(srcdir)/gather-docs Makefile
++@HAVE_PERL@ $(PERL) $(srcdir)/gather-docs $(srcdir) $(srcdir)/functions.texi $(CFILES) $(TEXIFILES)
++ echo stamp > stamp-functions
+
+ INSTALL_DEST = @INSTALL_DEST@
+ install: install_to_$(INSTALL_DEST) install-subdir
diff --git a/steps/binutils-2.41/patches/no-maint-opcodes.patch b/steps/binutils-2.41/patches/no-maint-opcodes.patch
@@ -0,0 +1,18 @@
+SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
+SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: GPL-3.0-or-later
+
+Ensure i386-tbl.h dependencies are satisfied.
+
+--- opcodes/Makefile.am 2023-12-08 17:13:05.669136957 +1100
++++ opcodes/Makefile.am 2023-12-08 17:13:18.410480026 +1100
+@@ -540,7 +540,7 @@
+ # i386-gen will generate all headers in one go. Use a pattern rule to properly
+ # express this, with the inner dash ('-') arbitrarily chosen to be the stem.
+ $(srcdir)/i386%tbl.h $(srcdir)/i386%init.h $(srcdir)/i386%mnem.h: \
+- @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h
++ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h
+ $(AM_V_GEN)$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - \
+ < $(srcdir)/i386-opc.tbl \
+ | ./i386-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir)
diff --git a/steps/binutils-2.41/sources b/steps/binutils-2.41/sources
@@ -0,0 +1 @@
+https://mirrors.kernel.org/gnu/binutils/binutils-2.41.tar.xz ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
diff --git a/steps/manifest b/steps/manifest
@@ -144,7 +144,7 @@ build: patch-2.7.6
build: gettext-0.21
build: texinfo-6.7
build: gcc-4.7.4
-build: binutils-2.38
+build: binutils-2.41
build: gperf-3.1
build: libunistring-0.9.10
build: libffi-3.3
@@ -168,6 +168,6 @@ build: python-3.4.10
build: python-3.8.16
build: python-3.11.1
build: gcc-10.4.0
-build: binutils-2.38
+build: binutils-2.41
build: gcc-13.1.0
improve: null_time ( FORCE_TIMESTAMPS == True )