diff mbox series

[2/7] package/gcc: add support for GCC 15.x

Message ID 20250425201824.141234-3-thomas.petazzoni@bootlin.com
State New
Headers show
Series Add support for building toolchains with GCC 15.x | expand

Commit Message

Thomas Petazzoni April 25, 2025, 8:18 p.m. UTC
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 <thomas.petazzoni@bootlin.com>
---
 .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 mbox series

Patch

diff --git a/.checkpackageignore b/.checkpackageignore
index 997ed1b896..b067571a1c 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -480,6 +480,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 <wbx@openadk.org>
+Date: Mon, 25 Jul 2022 00:29:55 +0200
+Subject: [PATCH] disable split-stack for non-thread builds
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+[Romain: convert to git format]
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+---
+ 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