commit: 4aaaeff6f29573cf5ee381cc00b097ae9c5846b1
parent b64f83da3df5bdb10bd4a81a1876cca68413fc6a
Author: fosslinux <fosslinux@aussies.space>
Date: Thu, 30 Jan 2025 21:51:36 +1100
Update GCC to 13.3 & remove pregenerated files
Diffstat:
11 files changed, 261 insertions(+), 128 deletions(-)
diff --git a/parts.rst b/parts.rst
@@ -1335,7 +1335,7 @@ mistaken plugin loading support). Other modern features are added, including;
* 64-bit linking on 32-bit x86
* the modern, rewritten gold linker used by some distributions
-gcc 13.1.0
+gcc 13.3.0
==========
This is the most recent version of GCC. With this version of GCC, the
diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs
@@ -39,7 +39,7 @@ aef1f09e2abd39cca760f186569a0e71bc11a20a79f06ee5802f788dd6a3ff58 curl-8.5.0_0.t
6e0d69e6bfbaf9520036b9ee362764ab791a0526df7a6639d9cc9de32d0becea curl-8.5.0_1.tar.bz2
fedf6ffbd37b14e9a0c94cd3063c6ac5d38f13be8a3399093ec112f9cd9d0816 dhcpcd-10.0.1_0.tar.bz2
0462b6a04899a98d60c33f9d16fa00e2e6b7c21cc80ccebc8358fc08105467a2 diffutils-2.7_0.tar.bz2
-58997e5fa5f657692b3b6d11e6f09516a3b25ddf49d0cccb6067bba6d277f59b diffutils-3.10_0.tar.bz2
+fc850c6f141717ccece106592f6a8edc0cae0d5e9f0968f111455d00072541b6 diffutils-3.10_0.tar.bz2
283a66575b4d7c835f6ebabb38cfb5d7d62032f832ad949f067a85b8a378c36c dist-3.5-236_0.tar.bz2
c30d11b798f3a6198f339ec98a88f8971c6ec13d5dcb10cb7af780752e97509f e2fsprogs-1.45.7_0.tar.bz2
139af6684f275e362e5c247bb830e85c888aa6c263622c1f3e967b2f71ff38f4 ed-1.4_0.tar.bz2
@@ -49,10 +49,10 @@ eec07e0d710ed3dd8d0ba6a1ec6ca9f1fa3a611bbb225195435679175317bf90 findutils-4.2.
9cb13b1e60c2c860e2f6fb11efffa74646290ef8461fbc43ed6e5ccfc3bd673f flex-2.5.33_0.tar.bz2
7bd44ec26cad78e5bb146e5ab709d489b6589da6049e319a4f438603f10eda4b flex-2.6.4_0.tar.bz2
c925739472260498342ba6dc3263da937abf5237e7e9102622bf5657ec98094a gawk-3.0.4_0.tar.bz2
-ba9fb5190645c150c413c79f8a48fbc1a1c3e0e2442782b47a124d35b1e38980 gawk-5.3.0_0.tar.bz2
+97e255a5852cb5fbd16e632249787f80e6bfd75cc5b31f8dfc8c81660a0801e1 gawk-5.3.0_0.tar.bz2
ab8b5b92de4780b085d8bc7e98ee72ad5ba9c07b26690c579c559b5cc21817eb gc-8.0.4_0.tar.bz2
6308c8d1568905cf58b3cd7b64e15a14656405f9676ec47ce3e9eecce3c857bc gcc-10.4.0_0.tar.bz2
-2537802994ec434e543d3736210a1d4c1e704bb2cc849375beeceacf794e26b2 gcc-13.1.0_0.tar.bz2
+073c34853a2a7d221028d77029105d91a81fc82c2000bc171880270ad69fb4ea gcc-13.3.0_0.tar.bz2
64052d4b2ad1ac405455767b3ac09b77c31d90c38b1d69bfc0922902bd943a2d gcc-4.0.4_0.tar.bz2
da88bb5900f33c1caca9180784e47367e64ec9f258182a147d84168540de1450 gcc-4.0.4_1.tar.bz2
cbbc193d4bef0b9ac9e4ba0111009297da66bc65de12c9f07b14d3f0d3be9688 gcc-4.7.4_0.tar.bz2
@@ -63,7 +63,7 @@ c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar
bfeb5cad6720cd6ff629095f562fc7b60e2b352d248c4f8bdc9de3db1ed09b17 grep-3.7_0.tar.bz2
7fae0496943df52f3e6a78692c4aee432d15c77d46626d58fbd7c0ae847e4934 grub-2.06_0.tar.bz2
fc97b59e6b3a99ef457890a00ddee4a9ad44316e41cb746cf6cac1d193e480b7 guile-3.0.9_0.tar.bz2
-d128aaa294acfafa1aa4345609cd687aa7669ee187643959138f8bf83ca17416 gzip-1.13_0.tar.bz2
+4b784b57ed27e22750cf79492bb65bf68bd8211d942eeb74490981effa41196b gzip-1.13_0.tar.bz2
d0cb00116d742d4216af4a7ed47f20408640229909a497c184aed3d4fcd4f30a heirloom-devtools-070527_0.tar.bz2
8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2
f59be8342ecf28d94e07c862de2d04dc46a7f9415e5256360d0e2ea6d1e3b252 kbd-1.15_0.tar.bz2
@@ -71,15 +71,15 @@ eaac2e938932926864c3866eb60b05c710137f20bb08b6fbdcba752d729f5b68 kexec-linux-1.
fefc818a2044aa979724e4d7cec93901eb4eab0cc1a535043e652e7b5b9f14c6 kexec-tools-2.0.22_0.tar.bz2
5d29cdd1d9857ceaaefe84b3239b35a2a4cf56ae0c3a41b5f6bd9f7f4887186c libarchive-3.5.2_0.tar.bz2
36550df491767bb24d2ccab304ce70a3b4956e7c0c0e0c343d922fd57cdafbdd libatomic_ops-7.6.10_0.tar.bz2
-2763617d04715894bab400ebf8bc1ee7ea6196e9c02cc22eef2648f183c450b7 libbsd-0.11.8_0.tar.bz2
+ac35de4d4effb2d7936e87087cd80daaa227b38dd683bcb8698be8ec459f3130 libbsd-0.11.8_0.tar.bz2
ed1fe10b0c917ad6a0be05d0187c056cf3ff379e15e51b6b094f708b63ce63de libffi-3.3_0.tar.bz2
-0f6aefeb587b3d14d8ea73d7750f946a23d3e59a76a0ee5cdcdcc8132bccf73d libmd-1.1.0_0.tar.bz2
+6c13f6dd789b7de1d59d4773f00510afa49d7641f6e6d04f54a47c165972650b libmd-1.1.0_0.tar.bz2
daae709e98d2df2190d1d13b4e86f7f3fe90fa7a975282fe0bb03289b6539f29 libtool-2.2.4_0.tar.bz2
4d2f23b557f897a6d649f714c2ac928a056cd55dbef8e23bb881349e4406a1fc libtool-2.4.7_0.tar.bz2
dd04cf8fb30f5dcf0348489e873587fec51b8f9a8b3911a669f8a0a2c6bbad99 libunistring-0.9.10_0.tar.bz2
557c703442cebd2767ea8364341d1c661cf76e277e97d0063f5a546e5f2c4adb linux-4.14.341-openela_0.tar.bz2
c97644d0db5b3de127b048683afee6d31453441d97ba5dea71df5838b13542a4 linux-headers-4.14.341-openela_0.tar.bz2
-0ec8f440b9a89a712460eeda60f09e52020338fe01f6513fd90d12ac384d91d2 m4-1.4.19_0.tar.bz2
+a5d2f0cd1beb89593ac616f89bb89a551bc9c1aa3aba07e0ea99785ff12a0003 m4-1.4.19_0.tar.bz2
d4dff784cac3d58d0cedfd9a51b52ff100ad8654e10a7c8c41590351f48f57d6 m4-1.4.7_0.tar.bz2
caaf55115075a101bbc35b65eda1e93d37758dd6abc51365b46643db0a974c40 make-3.82_0.tar.bz2
d9581e8f03f133fb2eafdc4bdfa0f527a5ce50209420d00809388aa0f05b90c7 make-4.2.1_0.tar.bz2
@@ -92,7 +92,7 @@ d58d85c4be26d90f111f273929a4998d05294fe5aa37c4842d5aecaa593e6079 musl-1.1.24_3.
f2850bbc8959598c5cf9caadeac2fa006fbdd46eb7a9cd2875bd54d4c112863f musl-1.2.5_0.tar.bz2
5de7f9b1988762555e5def5b83c187d76cee2936ef30d061a30305a776d9d3ed musl-1.2.5_1.tar.bz2
178d8ebcba95a60dbac6f4a78ce8babcd3e114560ba14a6e5c89ce8409d43087 musl-1.2.5_2.tar.bz2
-5767025883f6dc9ccfeb966ecdb714948d00b0850626d4a754ac7a0172098818 opendoas-6.8.2_0.tar.bz2
+5cf08386656a5c27af0adc965a3bd419ddd87edb924fe11cbd5036587c3c490d opendoas-6.8.2_0.tar.bz2
f00f063a754baf1e00d5d0a76680a74232f5f34d754a17c8fcd853d86cf9c1c6 openssl-3.0.13_0.tar.bz2
9bfdc11a94ac4ee2e51ebdf099fd129ad9935fb5a5d81871ca6f8ec1c2ac0eb7 patch-2.7.6_0.tar.bz2
44456a0635dc56351d34bf9701487e562c2c903393db2cc99f5c3a6d2ecf52d4 perl-5.000_0.tar.bz2
@@ -116,7 +116,7 @@ e28cbec8738e87a691bfc44e61ca6c1bd43a3babca0c796a35650eafac425aaf python-3.4.10_
81f624fbbadc814c0e6b41157794de8450816324caf1f89bd2ef3fa7db5b96a2 python-3.8.16_0.tar.bz2
18d517fa1195aa82e3e0eb7f261eb3addb9a43492040b16be04571639781577e sed-4.0.9_0.tar.bz2
de71facdd9679fbbb0152c40aa3ce88339ce87920508f7781d2b75ccd6acfe67 sed-4.8_0.tar.bz2
-8bdcac89807cc6db6ead178a209fdcbc23116775a354095f360d2a96a5f2d3c9 shadow-4.14.3_0.tar.bz2
+a7ab1ac6b066e266954a547823157df741d37d619a493d5672c07a9e1e685d67 shadow-4.14.3_0.tar.bz2
85b683509dc21db7bf4133a3c44cc8aeb88d6d0095de3a5b4aa83bf508d28a2c tar-1.34_0.tar.bz2
b3675b0d72677f30559386e1756e85a0a5065d738bb6206457a5a8d51b8bd0ce tcc-0.9.27_0.tar.bz2
e2c9ea82a1ebf2d5d4c937fa837ddb6fc6835395cf03f3207df40c96b6cafcd8 tcc-0.9.27_1.tar.bz2
diff --git a/steps/gcc-13.1.0/pass1.sh b/steps/gcc-13.1.0/pass1.sh
@@ -1,99 +0,0 @@
-# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-src_prepare() {
- default
-
- # Remove vendored zlib
- rm -r zlib/
-
- # Regen gperf file (because GCC's make rules suck)
- rm gcc/cp/cfns.h
- # (taken directly from gcc/cp/Make-lang.in)
- gperf -o -C -E -k '1-6,$' -j1 -D -N 'libc_name_p' -L C++ \
- gcc/cp/cfns.gperf --output-file gcc/cp/cfns.h
-
- # Regenerate autogen stuff
- autogen Makefile.def
- pushd fixincludes
- ./genfixes
- popd
-
- # Regenerate autotools
- # configure
- find . -name configure | sed 's:/configure::' | while read d; do
- pushd "${d}"
- AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fiv
- popd
- done
- # Because GCC is stupid, copy depcomp back in
- cp "${PREFIX}/share/automake-1.15/depcomp" .
- # Makefile.in only
- local BACK="${PWD}"
- find . -type d \
- -exec test -e "{}/Makefile.am" -a ! -e "{}/configure" \; \
- -print | while read d; do
- d="$(readlink -f "${d}")"
- cd "${d}"
- # Find the appropriate configure script for automake
- while [ ! -e configure ]; do
- cd ..
- done
- automake-1.15 -fai "${d}/Makefile"
- cd "${BACK}"
- done
-
- # Remove bison generated files
- rm intl/plural.c
-
- # Remove flex generated files
- rm gcc/gengtype-lex.cc
-
- # Remove unused generated files
- rm -r libgfortran/generated
-
- # intl/ Makefile is a bit broken because of new gettext
- sed -i 's/@USE_INCLUDED_LIBINTL@/no/' intl/Makefile.in
-
- # Regenerate crc table in libiberty/crc32.c
- pushd libiberty
- sed -n -e '38,65p' crc32.c > crcgen.c
- gcc -o crcgen crcgen.c
- head -n 69 crc32.c > crc32.c.new
- ./crcgen >> crc32.c.new
- tail -n +138 crc32.c >> crc32.c.new
- mv crc32.c.new crc32.c
- popd
-
- # Remove docs/translation
- find . -name "*.gmo" -delete
- find . -name "*.info" -delete
-}
-
-src_configure() {
- mkdir build
- cd build
-
- LDFLAGS="-static" \
- ../configure \
- --prefix="${PREFIX}" \
- --libdir="${LIBDIR}" \
- --build=i386-unknown-linux-musl \
- --target=i386-unknown-linux-musl \
- --host=i386-unknown-linux-musl \
- --enable-bootstrap \
- --enable-static \
- --disable-plugins \
- --disable-libssp \
- --disable-libsanitizer \
- --program-transform-name= \
- --enable-languages=c,c++ \
- --with-system-zlib \
- --disable-multilib \
- --enable-threads=posix
-}
-
-src_compile() {
- make "${MAKEJOBS}" BOOT_LDFLAGS="-static"
-}
diff --git a/steps/gcc-13.1.0/patches/new-gettext.patch b/steps/gcc-13.1.0/patches/new-gettext.patch
@@ -1,17 +0,0 @@
-SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
-
-SPDX-License-Identifier: GPL-3.0-or-later
-
-In new gettext external is required for AM_GNU_GETTEXT.
-
---- gcc-13.1.0/intl/configure.ac 2023-02-07 18:43:58.989786230 +1100
-+++ gcc-13.1.0/intl/configure.ac 2023-02-07 18:43:02.182632631 +1100
-@@ -4,7 +4,7 @@
- AC_CONFIG_HEADER(config.h)
- AC_CONFIG_MACRO_DIR(../config)
- AM_GNU_GETTEXT_VERSION(0.12.1)
--AM_GNU_GETTEXT([], [need-ngettext])
-+AM_GNU_GETTEXT([external], [need-ngettext])
-
- # This replaces the extensive use of DEFS in the original Makefile.in.
- AC_DEFINE(IN_LIBINTL, 1, [Define because this is libintl.])
diff --git a/steps/gcc-13.1.0/sources b/steps/gcc-13.1.0/sources
@@ -1 +0,0 @@
-https://mirrors.kernel.org/gnu/gcc/gcc-13.1.0/gcc-13.1.0.tar.xz 61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86
diff --git a/steps/gcc-13.3.0/files/decDPD.h.preamble b/steps/gcc-13.3.0/files/decDPD.h.preamble
@@ -0,0 +1 @@
+../../gcc-10.4.0/files/decDPD.h.preamble
+\ No newline at end of file
diff --git a/steps/gcc-13.3.0/files/decDPD_generate.c b/steps/gcc-13.3.0/files/decDPD_generate.c
@@ -0,0 +1 @@
+../../gcc-10.4.0/files/decDPD_generate.c
+\ No newline at end of file
diff --git a/steps/gcc-13.3.0/pass1.sh b/steps/gcc-13.3.0/pass1.sh
@@ -0,0 +1,228 @@
+# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+src_prepare() {
+ default
+
+ # Remove unused pregenerated files
+ rm libsanitizer/include/sanitizer/netbsd_syscall_hooks.h \
+ libsanitizer/sanitizer_common/sanitizer_syscalls_netbsd.inc
+ rm -r libgfortran/generated
+ rm gcc/testsuite/go.test/test/bench/go1/jsondata_test.go \
+ gcc/testsuite/go.test/test/bench/go1/parserdata_test.go \
+ gcc/testsuite/go.test/test/cmplxdivide1.go \
+ gcc/testsuite/go.test/test/fixedbugs/issue6866.go
+ rm gcc/testsuite/gcc.target/x86_64/abi/test_3_element_struct_and_unions.c \
+ gcc/testsuite/gcc.target/x86_64/abi/test_basic_returning.c \
+ gcc/testsuite/gcc.target/x86_64/abi/test_passing_floats.c \
+ gcc/testsuite/gcc.target/x86_64/abi/test_passing_integers.c \
+ gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_passing_floats.c \
+ gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_basic_returning.c \
+ gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_3_element_struct_and_unions.c \
+ gcc/testsuite/gcc.target/x86_64/abi/bf16/test_passing_floats.c \
+ gcc/testsuite/gcc.target/x86_64/abi/bf16/test_3_element_struct_and_unions.c
+
+ rm gcc/testsuite/gm2/projects/pim/run/pass/tower/advflex.c \
+ gcc/testsuite/gm2/projects/pim/run/pass/tower/AdvParse.mod
+ rm gcc/testsuite/gcc.dg/analyzer/flex*.c
+ rm -r gcc/testsuite/gdc.test/compilable
+ rm gcc/config/rs6000/rs6000-tables.opt \
+ gcc/config/rs6000/fusion.md \
+ gcc/config/h8300/mova.md \
+ gcc/config/aarch64/aarch64-tune.md \
+ gcc/config/nios2/ldstwm.md \
+ gcc/config/riscv/t-elf-multilib \
+ gcc/config/riscv/t-linux-multilib \
+ gcc/config/arm/arm-tune.md \
+ gcc/config/arm/arm-tables.opt \
+ gcc/config/arm/ldmstm.md \
+ gcc/config/arc/t-multilib \
+ gcc/config/m68k/m68k-tables.opt \
+ gcc/config/c6x/c6x-mult.md \
+ gcc/config/c6x/c6x-tables.opt \
+ gcc/config/c6x/c6x-sched.md \
+ gcc/config/csky/csky_tables.opt \
+ gcc/config/mips/mips-tables.opt \
+ gcc/config/nvptx/nvptx-gen.opt \
+ gcc/config/nvptx/nvptx-gen.h \
+ gcc/config/loongarch/loongarch.opt \
+ gcc/config/loongarch/loongarch-str.h
+ rm libphobos/src/std/internal/unicode_tables.d \
+ libphobos/src/std/internal/unicode_decomp.d \
+ libphobos/src/std/internal/unicode_grapheme.d \
+ libphobos/src/std/internal/unicode_norm.d
+ rm libgo/go/math/bits/example_test.go \
+ libgo/go/math/bits/bits_tables.go \
+ libgo/go/math/big/accuracy_string.go \
+ libgo/go/math/big/roundingmode_string.go \
+ libgo/go/strconv/isprint.go \
+ libgo/go/strconv/eisel_lemire.go \
+ libgo/go/sort/zfuncversion.go \
+ libgo/go/golang.org/x/net/route/zsys_*.go \
+ libgo/go/golang.org/x/net/idna/*.go \
+ libgo/go/golang.org/x/text/unicode/bidi/t*.go \
+ libgo/go/golang.org/x/text/unicode/norm/tables*.go \
+ libgo/go/golang.org/x/tools/internal/typeparams/typeterm.go \
+ libgo/go/golang.org/x/tools/internal/typeparams/termlist.go \
+ libgo/go/golang.org/x/crypto/curve25519/internal/field/fe_amd64.go \
+ libgo/go/internal/syscall/windows/registry/zsyscall_windows.go \
+ libgo/go/internal/syscall/windows/zsyscall_windows.go \
+ libgo/go/encoding/gob/*_helpers.go \
+ libgo/go/index/suffixarray/sais2.go \
+ libgo/go/net/http/*_bundle.go \
+ libgo/go/runtime/sizeclasses.go \
+ libgo/go/runtime/fastlog2table.go \
+ libgo/go/html/template/*_string.go \
+ libgo/go/crypto/md5/md5block.go \
+ libgo/go/crypto/tls/common_string.go \
+ libgo/go/crypto/elliptic/internal/fiat/p*.go \
+ libgo/go/crypto/ed25519/internal/edwards25519/field/fe_amd64.go \
+ libgo/go/time/zoneinfo_abbrs_windows.go \
+ libgo/go/unicode/tables.go \
+ libgo/go/regexp/syntax/doc.go \
+ libgo/go/regexp/syntax/op_string.go \
+ libgo/go/regexp/syntax/perl_groups.go \
+ libgo/go/image/internal/imageutil/impl.go \
+ libgo/go/image/color/palette/palette.go \
+ libgo/go/cmd/internal/objabi/*_string.go \
+ libgo/go/cmd/go/internal/test/flagdefs.go \
+ libgo/go/debug/dwarf/*_string.go \
+ libgo/go/debug/macho/reloctype_string.go \
+ libgo/go/internal/goexperiment/exp_*.go \
+ libgo/go/time/tzdata/zipdata.go \
+ libgo/go/go/constant/kind_string.go
+ rm libgo/go/compress/bzip2/testdata/*.bin \
+ libgo/go/go/internal/gccgoimporter/testdata/v1reflect.gox \
+ libgo/go/go/internal/gccgoimporter/testdata/time.gox \
+ libgo/go/go/internal/gccgoimporter/testdata/unicode.gox \
+ libgo/go/go/internal/gccgoimporter/testdata/escapeinfo.gox \
+ libgo/go/go/internal/gccgoimporter/testdata/libimportsar.a \
+ libgo/go/go/internal/gcimporter/testdata/versions/*.a
+ rm -r libgo/go/compress/flate/testdata \
+ libgo/go/runtime/pprof/testdata \
+ libgo/go/debug/*/testdata \
+ libgo/go/internal/trace/testdata \
+ libgo/go/time/testdata \
+ libgo/go/internal/xcoff/testdata
+ find fixincludes/tests -name "*.h" -delete
+ rm gcc/m2/mc/mcp*.bnf
+ rm -r gcc/m2/pge-boot \
+ gcc/m2/mc-boot
+ # Partially generated unused files
+ rm libgcc/config/sh/lib1funcs.S \
+ libgcc/config/sh/lib1funcs-4-300.S \
+ libgcc/config/arc/lib1funcs.S
+
+ # Remove vendored zlib
+ rm -r zlib/
+
+ # gperf files
+ rm gcc/cp/cfns.h gcc/cp/std-name-hint.h
+ # Generate it now, because gcc doesn't regenerate it for some reason
+ # (taken directly from gcc/cp/Make-lang.in)
+ gperf -o -C -E -k '1-6,$' -j1 -D -N 'libc_name_p' -L C++ \
+ gcc/cp/cfns.gperf --output-file gcc/cp/cfns.h
+
+ # Regenerate autogen stuff
+ rm Makefile.in fixincludes/fixincl.x
+ autogen Makefile.def
+ pushd fixincludes
+ ./genfixes
+ popd
+
+ # Regenerate autotools
+ # configure
+ find . -name configure | sed 's:/configure::' | while read d; do
+ pushd "${d}"
+ AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fiv
+ popd
+ done
+ # A odd script
+ pushd gcc/m2/gm2-libs
+ autoconf-2.69 -f config-host.in > config-host
+ popd
+ # Because GCC is stupid, copy depcomp back in
+ cp "${PREFIX}/share/automake-1.15/depcomp" .
+ # Makefile.in only
+ local BACK="${PWD}"
+ find . -type d \
+ -exec test -e "{}/Makefile.am" -a ! -e "{}/configure" \; \
+ -print | while read d; do
+ d="$(readlink -f "${d}")"
+ cd "${d}"
+ # Find the appropriate configure script for automake
+ while [ ! -e configure ]; do
+ cd ..
+ done
+ automake-1.15 -fai "${d}/Makefile"
+ cd "${BACK}"
+ done
+
+ # Remove bison generated files
+ rm intl/plural.c
+
+ # Remove flex generated files
+ rm gcc/gengtype-lex.cc
+
+ # intl/ Makefile is a bit broken because of new gettext
+ sed -i 's/@USE_INCLUDED_LIBINTL@/no/' intl/Makefile.in
+
+ # Regenerate crc table in libiberty/crc32.c
+ pushd libiberty
+ sed -n -e '38,65p' crc32.c > crcgen.c
+ gcc -o crcgen crcgen.c
+ head -n 69 crc32.c > crc32.c.new
+ ./crcgen >> crc32.c.new
+ tail -n +138 crc32.c >> crc32.c.new
+ mv crc32.c.new crc32.c
+ popd
+
+ # Regenerate decDPD.h
+ rm libdecnumber/decDPD.h
+ gcc -std=c99 -o decDPD_generate decDPD_generate.c
+ cp decDPD.h.preamble libdecnumber/decDPD.h
+ ./decDPD_generate >> libdecnumber/decDPD.h
+
+ # Remove docs/translation
+ find . -name "*.gmo" -delete
+ find . -name "*.info" -delete
+ find . -type f -name '*.[1-9]' -delete
+ rm libiberty/functions.texi
+ # Sphinx-generated
+ rm gcc/jit/docs/conf.py
+ rm gcc/jit/docs/_build/texinfo/libgccjit.texi \
+ gcc/ada/gnat_rm.texi \
+ gcc/ada/gnat_ugn.texi
+
+ rm gcc/doc/avr-mmcu.texi
+ gcc -o gen-avr-mmcu-texi gcc/config/avr/gen-avr-mmcu-texi.cc
+ ./gen-avr-mmcu-texi > gcc/doc/avr-mmcu.texi
+}
+
+src_configure() {
+ mkdir build
+ cd build
+
+ LDFLAGS="-static" \
+ ../configure \
+ --prefix="${PREFIX}" \
+ --libdir="${LIBDIR}" \
+ --build=i386-unknown-linux-musl \
+ --target=i386-unknown-linux-musl \
+ --host=i386-unknown-linux-musl \
+ --enable-bootstrap \
+ --enable-static \
+ --disable-plugins \
+ --disable-libssp \
+ --disable-libsanitizer \
+ --program-transform-name= \
+ --enable-languages=c,c++ \
+ --with-system-zlib \
+ --disable-multilib \
+ --enable-threads=posix
+}
+
+src_compile() {
+ make "${MAKEJOBS}" BOOT_LDFLAGS="-static"
+}
diff --git a/steps/gcc-13.3.0/patches/new-gettext.patch b/steps/gcc-13.3.0/patches/new-gettext.patch
@@ -0,0 +1,17 @@
+SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: GPL-3.0-or-later
+
+In new gettext external is required for AM_GNU_GETTEXT.
+
+--- gcc-13.3.0/intl/configure.ac 2023-02-07 18:43:58.989786230 +1100
++++ gcc-13.3.0/intl/configure.ac 2023-02-07 18:43:02.182632631 +1100
+@@ -4,7 +4,7 @@
+ AC_CONFIG_HEADER(config.h)
+ AC_CONFIG_MACRO_DIR(../config)
+ AM_GNU_GETTEXT_VERSION(0.12.1)
+-AM_GNU_GETTEXT([], [need-ngettext])
++AM_GNU_GETTEXT([external], [need-ngettext])
+
+ # This replaces the extensive use of DEFS in the original Makefile.in.
+ AC_DEFINE(IN_LIBINTL, 1, [Define because this is libintl.])
diff --git a/steps/gcc-13.3.0/sources b/steps/gcc-13.3.0/sources
@@ -0,0 +1 @@
+https://mirrors.kernel.org/gnu/gcc/gcc-13.3.0/gcc-13.3.0.tar.xz 0845e9621c9543a13f484e94584a49ffc0129970e9914624235fc1d061a0c083
diff --git a/steps/manifest b/steps/manifest
@@ -197,7 +197,7 @@ uninstall: python-2.0.1 python-2.3.7 python-3.1.5 python-3.3.7 python-3.4.10 pyt
jump: break ( INTERNAL_CI == pass1 ) # scripts are generated in pass1
build: gcc-10.4.0
build: binutils-2.41
-build: gcc-13.1.0
+build: gcc-13.3.0
build: grub-2.06 ( BUILD_LINUX == True )
improve: make_bootable ( CHROOT == False )
build: libmd-1.1.0