From 75891397abe60dbe3d82a1ec39654ff81d1b1406 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 25 Apr 2025 22:18:16 +0200 Subject: [PATCH] package/gcc: add support for GCC 15.x Changelog: https://gcc.gnu.org/gcc-15/changes.html NIOS II support has been removed, and we removed it from Buildroot some time ago. AArch64 ILP32 support has been deprecated, but we never supported it in Buildroot. In the stack of patches, just keep patch 0001. Indeed, from 14.2.0: - 0002-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch is upstream as of commit fa321004f3f6288d3ee2eefa6b02177131882dca - 0003-libquadmath-Fix-up-libquadmath-math-sqrtq.c-compilat.patch is upstream as of commit 3ac02e67503ccffa3dfeeffc0a60fce6bdaca43b Signed-off-by: Thomas Petazzoni Signed-off-by: Julien Olivain --- .checkpackageignore | 1 + ...le-split-stack-for-non-thread-builds.patch | 26 +++++++++++++++++++ package/gcc/Config.in.host | 11 ++++++++ package/gcc/gcc.hash | 2 ++ 4 files changed, 40 insertions(+) create mode 100644 package/gcc/15.1.0/0001-disable-split-stack-for-non-thread-builds.patch diff --git a/.checkpackageignore b/.checkpackageignore index fe736e3185..c8f708217b 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -478,6 +478,7 @@ package/fxload/0001-fix-static-build.patch lib_patch.Upstream package/gcc/12.4.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream package/gcc/13.3.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream package/gcc/14.2.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream +package/gcc/15.1.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch lib_patch.Upstream package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch lib_patch.Upstream package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch lib_patch.Upstream diff --git a/package/gcc/15.1.0/0001-disable-split-stack-for-non-thread-builds.patch b/package/gcc/15.1.0/0001-disable-split-stack-for-non-thread-builds.patch new file mode 100644 index 0000000000..052c31cf04 --- /dev/null +++ b/package/gcc/15.1.0/0001-disable-split-stack-for-non-thread-builds.patch @@ -0,0 +1,26 @@ +From d5fe709ddf2ba97ed94ea8339655230322456d1b Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Mon, 25 Jul 2022 00:29:55 +0200 +Subject: [PATCH] disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb +[Romain: convert to git format] +Signed-off-by: Romain Naour +--- + libgcc/config/t-stack | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgcc/config/t-stack b/libgcc/config/t-stack +index cc0366b4cd8..f3f97e86d60 100644 +--- a/libgcc/config/t-stack ++++ b/libgcc/config/t-stack +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif +-- +2.49.0 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index 10fe4bf609..68ffa793e4 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -49,6 +49,16 @@ config BR2_GCC_VERSION_14_X depends on !BR2_microblaze select BR2_TOOLCHAIN_GCC_AT_LEAST_14 +config BR2_GCC_VERSION_15_X + bool "gcc 15.x" + # powerpc spe support has been deprecated since gcc 8.x. + # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html + depends on !BR2_POWERPC_CPU_HAS_SPE + # Severely broken on Microblaze + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118280 + depends on !BR2_microblaze + select BR2_TOOLCHAIN_GCC_AT_LEAST_15 + endchoice # libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x @@ -79,6 +89,7 @@ config BR2_GCC_VERSION default "12.4.0" if BR2_GCC_VERSION_12_X default "13.3.0" if BR2_GCC_VERSION_13_X default "14.2.0" if BR2_GCC_VERSION_14_X + default "15.1.0" if BR2_GCC_VERSION_15_X default "arc-2023.09-release" if BR2_GCC_VERSION_ARC config BR2_EXTRA_GCC_CONFIG_OPTIONS diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index b7c53f8fbe..8c4e39c71d 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -8,6 +8,8 @@ sha512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656 sha512 ed5f2f4c6ed2c796fcf2c93707159e9dbd3ddb1ba063d549804dd68cdabbb6d550985ae1c8465ae9a336cfe29274a6eb0f42e21924360574ebd8e5d5c7c9a801 gcc-13.3.0.tar.xz # From https://gcc.gnu.org/pub/gcc/releases/gcc-14.2.0/sha512.sum sha512 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 gcc-14.2.0.tar.xz +# From https://gcc.gnu.org/pub/gcc/releases/gcc-15.1.0/sha512.sum +sha512 ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1 gcc-15.1.0.tar.xz # Locally calculated (fetched from Github) sha512 4dca20f517a42bb027fec605965b09fb917a535eebf3fe3e811d93476b02b1962df5ad4665f117bd44c2ec8e8015d51a44c00591761fe5f259c201ac5c7d920f gcc-arc-2023.09-release.tar.gz