Merge pull request #535 from eduardosm/gcc-15.2.0

Update final gcc to 15.2.0
This commit is contained in:
Samuel Tyler 2025-09-08 18:05:11 +10:00 committed by GitHub
commit 69fdc27d64
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 78 additions and 48 deletions

View file

@ -1320,7 +1320,7 @@ Differences to 3.8.16:
make output of precompiled Python libraries (``.pyc``) deterministic.
Finally, we can re-enable compiling of Python modules.
gcc 10.4.0
gcc 10.5.0
==========
GCC 10.x series is the last version of GCC that is able to be built with the
@ -1328,21 +1328,21 @@ C/C++ standards available in GCC 4.7. Instead of manually configuring & compilin
every subdirectory, since we now have ``autogen`` available we are able to use
the top-level configure to build the project. We do not use GCC's bootstrap mode,
where GCC is recompiled with itself after being built, since we're just going
to use this GCC to compile GCC 13, it adds build time for little benefit.
to use this GCC to compile GCC 15, it adds build time for little benefit.
binutils 2.41 (pass 2)
======================
We recompile Binutils with the full intended autogen top-level build system,
instead of the subdirectory build system used before. This creates a binutils
that functions completely correctly for the build of GCC 13 (eg, fixes the
that functions completely correctly for the build of GCC 15 (eg, fixes the
mistaken plugin loading support). Other modern features are added, including;
* threaded linking
* 64-bit linking on 32-bit x86
* the modern, rewritten gold linker used by some distributions
gcc 13.3.0
gcc 15.2.0
==========
This is the most recent version of GCC. With this version of GCC, the

View file

@ -39,7 +39,7 @@ d8ad6dd811872bfc4ac3f2101de85277de29e048f9e10debde1c284e3a62144b curl-8.12.1_0.
748e33824a2b5b199fdcf63f126bdd67b457b3521b5cee06eb6cd78644b9c0ca curl-8.12.1_1.tar.bz2
0ee8251b7251bf1c4a5634554c92c79339bd562b893b7c8fb1619c3ae6084bda dhcpcd-10.0.1_0.tar.bz2
0462b6a04899a98d60c33f9d16fa00e2e6b7c21cc80ccebc8358fc08105467a2 diffutils-2.7_0.tar.bz2
57be0e8044b6a9ad2cb84a850a9e848ca09de0b024449ac69d26d7b6d949b6c0 diffutils-3.10_0.tar.bz2
4cbe1fce51122f1a421e2c8bbb896b10f4a0be849916bdb67819f6f0e754c4a5 diffutils-3.10_0.tar.bz2
283a66575b4d7c835f6ebabb38cfb5d7d62032f832ad949f067a85b8a378c36c dist-3.5-236_0.tar.bz2
60559f700659d70c6c9d2c70170bef62355d8e38fbb30c1d0629978351b796fd e2fsprogs-1.45.7_0.tar.bz2
bf0ae256f441485d46f456a2b2edf89d619835aeccdc4bbcc1641b690e4670ff ed-1.4_0.tar.bz2
@ -49,10 +49,10 @@ f6c65eef86aa9f5317396a8443b25ed87a18f72d07dfd2231a594aa2c1a68942 findutils-4.2.
2ba6bfb20ab603787a95bf293742f36cfd8270c616073a880bc6d0c703e2c870 flex-2.5.33_0.tar.bz2
9e898068d570b5cfa016f0e14819d7f7a6577bae9177ef1e9bb62866d5b0f0b9 flex-2.6.4_0.tar.bz2
c925739472260498342ba6dc3263da937abf5237e7e9102622bf5657ec98094a gawk-3.0.4_0.tar.bz2
c5318939260b6c3eba43ea1602136cd0079784c70f6742230e2665dd86506272 gawk-5.3.0_0.tar.bz2
14c3c0b85ec7f98654496931b9ac0e0cea2f4d466724f1b72dbd5e6e68cf0b02 gawk-5.3.0_0.tar.bz2
b4fafdabdbd8c1f9f7c96fc4677023a8151fe2afe0702e3dee920157b30deb98 gc-8.0.4_0.tar.bz2
2fbd45349815bea19ff77574896e89bfb490017bd59a89709d827c3ce3211579 gcc-10.5.0_0.tar.bz2
e84715efb5f67e7d6a2ddf76f4db8d9f966bc4547f13441d2b841045c367eeb1 gcc-13.3.0_0.tar.bz2
533691bea29dae1974dda699c73d05e583c5d20f14295b69c218f5701bd26d49 gcc-15.2.0_0.tar.bz2
d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.tar.bz2
2f13b3306832d882536c97d0302f2ec1801193086dbbe62388f930858e5728a3 gcc-4.0.4_1.tar.bz2
763bf41efd518fc97cd863bc1e5288fd4c51199468e4f58fcb5d00df84142ade gcc-4.7.4_0.tar.bz2
@ -61,9 +61,9 @@ d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.ta
8138c02c4fef718c97827f1d6476e2fc83433ff06eff4820b53589b5419b7e15 gperf-3.1_0.tar.bz2
c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2
69a57d4a696f3559f821b50b9d5d4174e81801767ed8d0d00f1f3234e92ec251 grep-3.7_0.tar.bz2
58edba67ef9c93c8d7d424c34f44c551c05ab9a57e05bcf767e62d82de17113b grub-2.06_0.tar.bz2
6988de155779ed22eab5fd5188dcf3e47b7a94effa7de260430f9cb4a84fc78c grub-2.06_0.tar.bz2
9d6732935e6eb800b03f54c37e173d6a862fa1008aad51b7bf95fb6018599eb7 guile-3.0.9_0.tar.bz2
567ddf94eedfeafa1ab212535d887f35997f58a3d943aafc024037c67a393dc0 gzip-1.13_0.tar.bz2
893bb26efb8b1789702b8fd1a3ed72951990c8e38ab650c5220992405e79b96e gzip-1.13_0.tar.bz2
f27e1eaafa7ab198d2ed549aecfd8a1205d960f59a509789a159997565abd6d4 heirloom-devtools-070527_0.tar.bz2
8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2
5b18018b2b29e10d4d8e4201e2d62846777172c01b83ca5295f7c8721c2bde0a kbd-1.15_0.tar.bz2
@ -71,15 +71,15 @@ f27e1eaafa7ab198d2ed549aecfd8a1205d960f59a509789a159997565abd6d4 heirloom-devto
069c629aae2c86e9a23195faa3694281abeebebfdcd8dd134c73c9c68b933c41 kexec-tools-2.0.22_0.tar.bz2
89a43c8107eff8ae34d15cdcd70f486ed440c5fe63bf57971f3587b8e22124c0 libarchive-3.5.2_0.tar.bz2
e28fdaf6191513d8e45b2c1e0d1991e01c93f4294c7fd44126568648a40f4643 libatomic_ops-7.6.10_0.tar.bz2
05a0450e0bc7842a17c0e0fa7bf53ed8c093e2914a24fc8138a4fc60d97da773 libbsd-0.11.8_0.tar.bz2
3e392a5332e8db77c409f1566b6f05d1f92a85e1fbe902dbe97704548c0f6c8e libbsd-0.11.8_0.tar.bz2
de10b5b3d1b721c8d8365d524c13f524b2c9cb5eff1f891698b1aa4915a73092 libffi-3.3_0.tar.bz2
1693e37c7a3d0ad04ec2483b5af7d57ebf227eaca56c65d189391508385bd0c3 libmd-1.1.0_0.tar.bz2
9e1932db252894478dc98985f931312cbe5ee0eb40db251c75c79dd01294b15b libmd-1.1.0_0.tar.bz2
3f2b65e7bdd66041d5ab59508196055417d5b5c0c9540f345cb4f0544d82411c libtool-2.2.4_0.tar.bz2
a9ddd248e490623caeb0380089d03bc638e78af5c4fb65426f3b7f73521af604 libtool-2.4.7_0.tar.bz2
4f05d64d4504c03f13a3045f4db85c12bd456944bc9159f381b00fda4daced9d libunistring-0.9.10_0.tar.bz2
be02f610179426215973a4e3cd4a5776840041ba2053ffc4c27163c27741ec03 linux-4.14.341-openela_0.tar.bz2
c97644d0db5b3de127b048683afee6d31453441d97ba5dea71df5838b13542a4 linux-headers-4.14.341-openela_0.tar.bz2
6c1b7a7f5f41bcb497c17dfd6a69865502548fb234bca41e8b149270bd29611c m4-1.4.19_0.tar.bz2
748aafe25363c9777b2970b54d29d3f60d7ed3a07b0839415de37061f13358ff m4-1.4.19_0.tar.bz2
d4dff784cac3d58d0cedfd9a51b52ff100ad8654e10a7c8c41590351f48f57d6 m4-1.4.7_0.tar.bz2
38611790ea602063095c2819672932cbfbc29cd1244b68a8f46123e76a1ad630 make-3.82_0.tar.bz2
d477947e4df6f4964fae00c9c16850caf0c8e3b09771007fcca1fec8f6da9d6e make-4.2.1_0.tar.bz2
@ -92,7 +92,7 @@ ded6ecc93cc194f5b22be26c6547c63a4b84959785212fded100440f71da1802 musl-1.1.24_2.
1e0e6ce38bf65dde7a222c68178805432a6ded658131f3a6076ce65c483a3dac musl-1.2.5_0.tar.bz2
f25c410403bef549d4ba37e500970480eaa649b582db9de9e21616257f9ecbcf musl-1.2.5_1.tar.bz2
3755dc16bfa1ff39a1c9309c2c03bb0e5dfc215ae4b1c242f3818fe07c1014e4 musl-1.2.5_2.tar.bz2
47f44ab845310688c911968f6178c045d7a06d0597960543df5f5326317b4e0d opendoas-6.8.2_0.tar.bz2
f629dad141a32b592e78e8ecf465bded45437601b3340520a8799331cfac0024 opendoas-6.8.2_0.tar.bz2
693806e3bccbea1f836893763128f6c3a6157c5e984a7cbc99d002b421161011 openssl-3.0.13_0.tar.bz2
f39330325296612d66427de568a030aff3a514aad567a88e1de432392a08abdd patch-2.7.6_0.tar.bz2
44456a0635dc56351d34bf9701487e562c2c903393db2cc99f5c3a6d2ecf52d4 perl-5.000_0.tar.bz2
@ -116,7 +116,7 @@ f9f4b4a3ac4a98464774f04725a1028371f25d158c4fd06b26a35eaf7445e871 python-3.11.1_
1046b69b1e6aea31fa6fc31d6fa1df69d0013584ebdd87f23cafa194817ebab3 python-3.8.16_0.tar.bz2
18d517fa1195aa82e3e0eb7f261eb3addb9a43492040b16be04571639781577e sed-4.0.9_0.tar.bz2
3e7c9ab6da24fa44e115af66e077b5692f5293ffb7bc82c54fb91663900867d3 sed-4.8_0.tar.bz2
2df7fecd734dbe5776794b1b3210254617cdb078374b8868d3873c681f6180ee shadow-4.14.3_0.tar.bz2
fe8bbc246d82e99c482337f1443c5313268823667dccebca6cd004e6cf6b4a7c shadow-4.14.3_0.tar.bz2
daf24af74bf78e7e0d1351113a76aea7aff1effd5219ee6fc775f59eff6d2437 tar-1.34_0.tar.bz2
b3675b0d72677f30559386e1756e85a0a5065d738bb6206457a5a8d51b8bd0ce tcc-0.9.27_0.tar.bz2
03454c87049198998bc2c8c2c04b7c3312551a7c233097eabc5e67a4a07bd056 tcc-0.9.27_1.tar.bz2

View file

@ -13,5 +13,5 @@ src_prepare() {
}
src_configure() {
./configure --prefix="${PREFIX}"
CFLAGS="-std=gnu11" ./configure --prefix="${PREFIX}"
}

View file

@ -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.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.])

View file

@ -1 +0,0 @@
https://mirrors.kernel.org/gnu/gcc/gcc-13.3.0/gcc-13.3.0.tar.xz 0845e9621c9543a13f484e94584a49ffc0129970e9914624235fc1d061a0c083

View file

@ -22,16 +22,19 @@ src_prepare() {
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/c-c++-common/analyzer/flex-with-call-summaries.c \
gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c
rm gcc/testsuite/gdc.test/compilable/dtoh_windows.d
rm gcc/testsuite/sarif-replay.dg/2.1.0-valid/malloc-vs-local-4.c.sarif \
gcc/testsuite/sarif-replay.dg/2.1.0-valid/signal-1.c.sarif
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 \
@ -45,9 +48,7 @@ src_prepare() {
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
gcc/config/nvptx/nvptx-gen.h
rm libphobos/src/std/internal/unicode_tables.d \
libphobos/src/std/internal/unicode_decomp.d \
libphobos/src/std/internal/unicode_grapheme.d \
@ -99,12 +100,16 @@ src_prepare() {
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 \
rm -r libgo/go/compress/*/testdata \
libgo/go/runtime/pprof/testdata \
libgo/go/debug/*/testdata \
libgo/go/internal/trace/testdata \
libgo/go/time/testdata \
libgo/go/internal/xcoff/testdata
libgo/go/internal/xcoff/testdata \
libgo/go/archive/*/testdata
rm gcc/d/dmd/common/identifiertables.d
rm -r gcc/rust/checks/errors/borrowck/ffi-polonius/vendor \
libgrust/libformat_parser/vendor
find fixincludes/tests -name "*.h" -delete
rm gcc/m2/mc/mcp*.bnf
rm -r gcc/m2/pge-boot \
@ -142,8 +147,6 @@ src_prepare() {
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 \
@ -160,13 +163,12 @@ src_prepare() {
done
# Remove bison generated files
rm intl/plural.c
rm gcc/cobol/parse.{cc,h}
rm gcc/cobol/cdf.{cc,h}
# 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
rm gcc/cobol/scan.cc
# Regenerate crc table in libiberty/crc32.c
pushd libiberty
@ -184,6 +186,48 @@ src_prepare() {
cp decDPD.h.preamble libdecnumber/decDPD.h
./decDPD_generate >> libdecnumber/decDPD.h
# Regenerate sarif-spec-urls.def
rm gcc/sarif-spec-urls.def
cp -t contrib ../sarif-v2.1.0-errata01-os-complete.html
pushd contrib
# windows-1252 is not supported by our Python build
sed -i "s/'windows-1252'/'latin-1'/g" regenerate-sarif-spec-index.py
python3 regenerate-sarif-spec-index.py
popd
# Regenerate box-drawing-chars.inc
rm gcc/text-art/box-drawing-chars.inc
python3 contrib/unicode/gen-box-drawing-chars.py > gcc/text-art/box-drawing-chars.inc
# Regenerate combining-chars.inc
rm libcpp/combining-chars.inc
python3 contrib/unicode/gen-combining-chars.py > libcpp/combining-chars.inc
# Regenerate printable-chars.inc
rm libcpp/printable-chars.inc
python3 contrib/unicode/gen-printable-chars.py > libcpp/printable-chars.inc
# Regenerate unicode-data.h
rm libstdc++-v3/include/bits/unicode-data.h
pushd contrib/unicode
python3 gen_libstdcxx_unicode_data.py > ../../libstdc++-v3/include/bits/unicode-data.h
popd
# Regenerate loongarch files
pushd gcc/config/loongarch
rm loongarch-evolution.{cc,h} loongarch-str.h loongarch.opt
./genopts/genstr.sh evolution_c > loongarch-evolution.cc
./genopts/genstr.sh evolution_h > loongarch-evolution.h
./genopts/genstr.sh header > loongarch-str.h
./genopts/genstr.sh opt > loongarch.opt
popd
# Regenerate gcn files
pushd gcc/config/gcn
rm gcn-tables.opt
awk -f gen-opt-tables.awk gcn-devices.def > gcn-tables.opt
popd
# Remove docs/translation
find . -name "*.gmo" -delete
find . -name "*.info" -delete

2
steps/gcc-15.2.0/sources Normal file
View file

@ -0,0 +1,2 @@
https://mirrors.kernel.org/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.xz 438fd996826b0c82485a29da03a72d71d6e3541a83ec702df4271f6fe025d24e
https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/sarif-v2.1.0-errata01-os-complete.html 835a4d043e4415a76668c8f38d5605f4e6f8ac2279dfab7e61c3f06e9228dd1c

View file

@ -32,7 +32,8 @@ src_prepare() {
}
src_configure() {
CFLAGS="-Wno-error" ./configure --prefix="${PREFIX}" --sbindir="${PREFIX}/bin" --build=i686-pc-linux-musl
CFLAGS="-std=gnu11 -Wno-error" \
./configure --prefix="${PREFIX}" --sbindir="${PREFIX}/bin" --build=i686-pc-linux-musl
}
src_install() {

View file

@ -14,6 +14,7 @@ src_prepare() {
}
src_configure() {
CFLAGS="-std=gnu11" \
LDFLAGS="-latomic" \
./configure \
--prefix="${PREFIX}" \

View file

@ -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.5.0
build: binutils-2.41
build: gcc-13.3.0
build: gcc-15.2.0
build: grub-2.06 ( BUILD_LINUX == True )
improve: make_bootable ( CHROOT == False )
build: libmd-1.1.0