Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] gcc: update to 14.1.0.
@ 2024-06-14  6:45 oreo639
  2024-06-14 20:52 ` [PR PATCH] [Updated] " oreo639
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: oreo639 @ 2024-06-14  6:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2373 bytes --]

There is a new pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages gcc14
https://github.com/void-linux/void-packages/pull/50825

[WIP] gcc: update to 14.1.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

gcc 14 introduces some breaking changes, the most notable of which is the introduction of new C99+ errors. This needs to be tested to catch breakages (note that `-fpermissive` was also added and can be added to packages as needed).

Note that this doesn't just affect applications but also tests, so some tests that might have been considered conformant C99 may now be fail due to these changes (which may not result in a package build error and instead result in configuration changes).

On the other hand this also results in some packages, (e.g. on musl) now erroring during compile when built without including the correct basename (good) instead of segfaulting later due to implicit pointer truncation.

https://gcc.gnu.org/gcc-14/changes.html
https://gcc.gnu.org/gcc-14/porting_to.html

Note that distros like Fedora, have already done a lot of work to audit packages for configuration changes and breakages: https://fedoraproject.org/wiki/Changes/PortingToModernC
If you are maintaining a package, feel free to check if there are patches related to this in [Fedora](https://src.fedoraproject.org/) or upstream.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/50825.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gcc14-50825.patch --]
[-- Type: text/x-diff, Size: 29799 bytes --]

From 21e6eb72d5d4f10e5553f77cd9a8cf8448b039db Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:25:00 -0700
Subject: [PATCH 1/2] binutils: update to 2.42.

---
 srcpkgs/binutils/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/binutils/template b/srcpkgs/binutils/template
index a23501510376a7..2cd023b495accc 100644
--- a/srcpkgs/binutils/template
+++ b/srcpkgs/binutils/template
@@ -1,7 +1,7 @@
 # Template file for 'binutils'
 pkgname=binutils
-version=2.41
-revision=3
+version=2.42
+revision=1
 bootstrap=yes
 hostmakedepends="pkgconf"
 makedepends="zlib-devel libzstd-devel"
@@ -10,7 +10,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/binutils/"
 distfiles="${GNU_SITE}/binutils/binutils-${version}.tar.xz"
-checksum=ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
+checksum=f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800
 
 build_options="all_targets"
 desc_option_all_targets="Enable all supported targets"

From 077ea8776b3f441e20b0d0a743d4c1cf34a604fb Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:30:25 -0700
Subject: [PATCH 2/2] gcc: update to 14.1.0.

---
 common/shlibs                                 |   2 +-
 ...5980633c502f0486a2e40e96224f49134130.patch | 297 ------------------
 ...ad833631486e337e541e692d9b4a1ca14edd.patch | 142 ---------
 ...9de35fb1b293a4fd586574b1b4b73ddf7880.patch |  60 ----
 .../patches/fix-pretty-printer-warnings.patch | 125 --------
 srcpkgs/gcc/template                          |   6 +-
 6 files changed, 4 insertions(+), 628 deletions(-)
 delete mode 100644 srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
 delete mode 100644 srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
 delete mode 100644 srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
 delete mode 100644 srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch

diff --git a/common/shlibs b/common/shlibs
index a33bb85772e392..a63feb93eac561 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -63,7 +63,7 @@ libcc1plugin.so.0 gcc-6.2.1_1
 libitm.so.1 libitm-4.7.3_1
 liblto_plugin.so.0 gcc-4.7.3_1
 libgcc_s.so.1 libgcc-4.4.0_1
-libgo.so.22 libgo-13.2.0_1
+libgo.so.23 libgo-14.1.0_1
 libgccjit.so.0 libgccjit-10.2.1pre1_1
 libperl.so.5.38 perl-5.38.0_1
 libgmp.so.10 gmp-5.0.1_1
diff --git a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch b/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
deleted file mode 100644
index d64fabeaad1ec9..00000000000000
--- a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-From 15345980633c502f0486a2e40e96224f49134130 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Tue, 19 Sep 2023 09:26:35 +0200
-Subject: [PATCH] libgomp: Handle NULL environ like pointer to NULL pointer
- [PR111413]
-
-clearenv function just sets environ to NULL (after sometimes freeing it),
-rather than setting it to a pointer to NULL, and our code was assuming
-it is always non-NULL.
-
-Fixed thusly, the change seems to be large but actually is just
-+  if (environ)
-     for (env = environ; *env != 0; env++)
-plus reindentation.  I've also noticed the block after this for loop
-was badly indented (too much) and fixed that too.
-
-No testcase added, as it needs clearenv + dlopen.
-
-2023-09-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR libgomp/111413
-	* env.c (initialize_env): Don't dereference environ if it is NULL.
-	Reindent.
----
- libgomp/env.c | 251 +++++++++++++++++++++++++-------------------------
- 1 file changed, 126 insertions(+), 125 deletions(-)
-
-diff --git a/libgomp/env.c b/libgomp/env.c
-index f24484d7f7074..a21adb3fd4bdb 100644
---- a/libgomp/env.c
-+++ b/libgomp/env.c
-@@ -2224,139 +2224,140 @@ initialize_env (void)
-   none = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_NO_SUFFIX);
-   initialize_icvs (&none->icvs);
- 
--  for (env = environ; *env != 0; env++)
--    {
--      if (!startswith (*env, "OMP_"))
--	continue;
--
--     /* Name of the environment variable without suffix "OMP_".  */
--     char *name = *env + sizeof ("OMP_") - 1;
--     for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
--	{
--	  if (startswith (name, envvars[omp_var].name))
--	    {
--	      pos = envvars[omp_var].name_len;
--	      if (name[pos] == '=')
--		{
--		  pos++;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_ALL=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV_")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
--		{
--		  pos += 5;
--		  if (!get_device_num (*env, &name[pos], &dev_num,
--				       &dev_num_len))
--		    break;
--
--		  pos += dev_num_len + 1;
--		  flag_var_addr
--		    = add_initial_icv_to_list (dev_num,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else
--		{
--		  gomp_error ("Invalid environment variable in %s", *env);
--		  break;
--		}
--	      env_val = &name[pos];
-+  if (environ)
-+    for (env = environ; *env != 0; env++)
-+      {
-+	if (!startswith (*env, "OMP_"))
-+	  continue;
- 
--	      if (envvars[omp_var].parse_func (*env, env_val, params))
--		{
--		  for (i = 0; i < 3; ++i)
--		    if (envvars[omp_var].flag_vars[i])
--		      gomp_set_icv_flag (flag_var_addr,
--					 envvars[omp_var].flag_vars[i]);
--		    else
-+       /* Name of the environment variable without suffix "OMP_".  */
-+       char *name = *env + sizeof ("OMP_") - 1;
-+       for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
-+	  {
-+	    if (startswith (name, envvars[omp_var].name))
-+	      {
-+		pos = envvars[omp_var].name_len;
-+		if (name[pos] == '=')
-+		  {
-+		    pos++;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_ALL=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV_")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
-+		  {
-+		    pos += 5;
-+		    if (!get_device_num (*env, &name[pos], &dev_num,
-+					 &dev_num_len))
- 		      break;
--		}
- 
--	      break;
--	    }
--	}
--    }
-+		    pos += dev_num_len + 1;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (dev_num,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else
-+		  {
-+		    gomp_error ("Invalid environment variable in %s", *env);
-+		    break;
-+		  }
-+		env_val = &name[pos];
- 
--    all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
--    for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
--      {
--	if (none != NULL
--	    && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&none->icvs,
--			       host_envvars[omp_var].flag_var, params);
--	else if (all != NULL
--		 && gomp_get_icv_flag (all->flags,
--				       host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
--			       params);
--	else
--	  continue;
-+		if (envvars[omp_var].parse_func (*env, env_val, params))
-+		  {
-+		    for (i = 0; i < 3; ++i)
-+		      if (envvars[omp_var].flag_vars[i])
-+			gomp_set_icv_flag (flag_var_addr,
-+					   envvars[omp_var].flag_vars[i]);
-+		      else
-+			break;
-+		  }
- 
--	switch (host_envvars[omp_var].type_code)
--	  {
--	  case PARSE_INT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
--	    break;
--	  case PARSE_BOOL:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
--	    break;
--	  case PARSE_UINT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned int *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned int *) params[i];
--	    break;
--	  case PARSE_ULONG:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned long *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned long *) params[i];
--	    break;
--	  case PARSE_UCHAR:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned char *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned char *) params[i];
--	    break;
--	  case PARSE_SCHEDULE:
--	    *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
--	      = *(enum gomp_schedule_type *) params[0];
--	    *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
--	    break;
--	  case PARSE_BIND:
--	    *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
--	    *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
--	    *(unsigned long *) (host_envvars[omp_var].dest[2])
--	      = *(unsigned long *) params[2];
--	    break;
-+		break;
-+	      }
- 	  }
-       }
- 
-+  all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
-+  for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
-+    {
-+      if (none != NULL
-+	  && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&none->icvs,
-+			     host_envvars[omp_var].flag_var, params);
-+      else if (all != NULL
-+	       && gomp_get_icv_flag (all->flags,
-+				     host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
-+			     params);
-+      else
-+	continue;
-+
-+      switch (host_envvars[omp_var].type_code)
-+	{
-+	case PARSE_INT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
-+	  break;
-+	case PARSE_BOOL:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
-+	  break;
-+	case PARSE_UINT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned int *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned int *) params[i];
-+	  break;
-+	case PARSE_ULONG:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned long *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned long *) params[i];
-+	  break;
-+	case PARSE_UCHAR:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned char *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned char *) params[i];
-+	  break;
-+	case PARSE_SCHEDULE:
-+	  *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
-+	    = *(enum gomp_schedule_type *) params[0];
-+	  *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
-+	  break;
-+	case PARSE_BIND:
-+	  *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
-+	  *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
-+	  *(unsigned long *) (host_envvars[omp_var].dest[2])
-+	    = *(unsigned long *) params[2];
-+	  break;
-+	}
-+    }
-+
-   if (((none != NULL && gomp_get_icv_flag (none->flags, GOMP_ICV_BIND))
-        || (all != NULL && gomp_get_icv_flag (all->flags, GOMP_ICV_BIND)))
-       && gomp_global_icv.bind_var == omp_proc_bind_false)
diff --git a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch b/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
deleted file mode 100644
index f9dfee06215537..00000000000000
--- a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From d7bead833631486e337e541e692d9b4a1ca14edd Mon Sep 17 00:00:00 2001
-From: Fangrui Song <i@maskray.me>
-Date: Fri, 28 Apr 2023 09:59:17 -0700
-Subject: [PATCH] [sanitizer] Remove crypt and crypt_r interceptors
-
-From Florian Weimer's D144073
-
-> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
->
-> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
-
-Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
-newer glibc.
-
-For older glibc, msan will not know that an uninstrumented crypt_r call
-initializes `data`, so there is a risk for false positives. However, with some
-codebase survey, I think crypt_r uses are very few and the call sites typically
-have a `memset(&data, 0, sizeof(data));` anyway.
-
-Fix https://github.com/google/sanitizers/issues/1365
-Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
-
-Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
-
-Differential Revision: https://reviews.llvm.org/D149403
----
- .../sanitizer_common_interceptors.inc         | 37 -------------------
- .../sanitizer_platform_interceptors.h         |  2 -
- .../sanitizer_platform_limits_posix.cpp       |  8 ----
- .../sanitizer_platform_limits_posix.h         |  1 -
- .../TestCases/Linux/crypt_r.cpp               | 36 ------------------
- .../TestCases/Posix/crypt.cpp                 | 32 ----------------
- 6 files changed, 116 deletions(-)
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
-
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
-index b30c91f06cfeb0..490a8b12d8b17d 100644
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-@@ -10086,41 +10086,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
- #define INIT_GETRANDOM
- #endif
- 
--#if SANITIZER_INTERCEPT_CRYPT
--INTERCEPTOR(char *, crypt, char *key, char *salt) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt)(key, salt);
--  if (res != nullptr)
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  return res;
--}
--#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
--#else
--#define INIT_CRYPT
--#endif
--
--#if SANITIZER_INTERCEPT_CRYPT_R
--INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt_r)(key, salt, data);
--  if (res != nullptr) {
--    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
--                                   __sanitizer::struct_crypt_data_sz);
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  }
--  return res;
--}
--#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
--#else
--#define INIT_CRYPT_R
--#endif
--
- #if SANITIZER_INTERCEPT_GETENTROPY
- INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
-   void *ctx;
-@@ -10698,8 +10663,6 @@ static void InitializeCommonInterceptors() {
-   INIT_GETUSERSHELL;
-   INIT_SL_INIT;
-   INIT_GETRANDOM;
--  INIT_CRYPT;
--  INIT_CRYPT_R;
-   INIT_GETENTROPY;
-   INIT_QSORT;
-   INIT_QSORT_R;
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
-index eb39fabfd59839..c82ab5c2105621 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -569,8 +569,6 @@
- #define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
- #define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
- #define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
--#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
--#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
- 
- #define SANITIZER_INTERCEPT_GETRANDOM \
-   ((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index a04eed7aa5a6e3..6d61d276d77e35 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -177,10 +177,6 @@ typedef struct user_fpregs elf_fpregset_t;
- #  include "sanitizer_platform_interceptors.h"
- #  include "sanitizer_platform_limits_posix.h"
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--#include <crypt.h>
--#endif
--
- namespace __sanitizer {
-   unsigned struct_utsname_sz = sizeof(struct utsname);
-   unsigned struct_stat_sz = sizeof(struct stat);
-@@ -300,10 +296,6 @@ namespace __sanitizer {
-   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
- #endif // SANITIZER_GLIBC
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--  unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
--#endif
--
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   unsigned struct_timex_sz = sizeof(struct timex);
-   unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-index e6f298c26e1fb6..58244c9944a03a 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -309,7 +309,6 @@ extern unsigned struct_msqid_ds_sz;
- extern unsigned struct_mq_attr_sz;
- extern unsigned struct_timex_sz;
- extern unsigned struct_statvfs_sz;
--extern unsigned struct_crypt_data_sz;
- #endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
- 
- struct __sanitizer_iovec {
diff --git a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch b/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
deleted file mode 100644
index 7338b3dd1ede37..00000000000000
--- a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From f4029de35fb1b293a4fd586574b1b4b73ddf7880 Mon Sep 17 00:00:00 2001
-From: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-Date: Wed, 26 Jul 2023 22:36:26 +0530
-Subject: [PATCH] [aarch64/match.pd] Fix ICE observed in PR110280.
-
-gcc/ChangeLog:
-	PR tree-optimization/110280
-	* match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector
-	using build_vector_from_val with the element of input operand, and
-	mask's type if operand and mask's types don't match.
-
-gcc/testsuite/ChangeLog:
-	PR tree-optimization/110280
-	* gcc.target/aarch64/sve/pr110280.c: New test.
-
-(cherry picked from commit 85d8e0d8d5342ec8b4e6a54e22741c30b33c6f04)
----
- gcc/match.pd                                    |  9 ++++++++-
- gcc/testsuite/gcc.target/aarch64/sve/pr110280.c | 12 ++++++++++++
- 2 files changed, 20 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-
-diff --git a/gcc/match.pd b/gcc/match.pd
-index 9118244825054..c3bb4fbc0a7a2 100644
---- a/gcc/match.pd
-+++ b/gcc/match.pd
-@@ -8292,7 +8292,14 @@ and,
- 
- (simplify
-  (vec_perm vec_same_elem_p@0 @0 @1)
-- @0)
-+ (if (types_match (type, TREE_TYPE (@0)))
-+  @0
-+  (with
-+   {
-+     tree elem = uniform_vector_p (@0);
-+   }
-+   (if (elem)
-+    { build_vector_from_val (type, elem); }))))
- 
- /* Push VEC_PERM earlier if that may help FMA perception (PR101895).  */
- (simplify
-diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-new file mode 100644
-index 0000000000000..d3279f383629f
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-@@ -0,0 +1,12 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O3 -fdump-tree-optimized" } */
-+
-+#include "arm_sve.h"
-+
-+svuint32_t l()
-+{
-+  _Alignas(16) const unsigned int lanes[4] = {0, 0, 0, 0};
-+  return svld1rq_u32(svptrue_b8(), lanes);
-+}
-+
-+/* { dg-final { scan-tree-dump-not "VEC_PERM_EXPR" "optimized" } } */
diff --git a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch b/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
deleted file mode 100644
index 4eeb69b69b1bbd..00000000000000
--- a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- a/libstdc++-v3/python/libstdcxx/v6/printers.py
-+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
-@@ -1198,7 +1198,7 @@
- 
-     def __init__ (self, typename, val):
-         self.typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-+        self.typename = re.sub(r'^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-         self.val = val
-         self.contained_type = None
-         contained_value = None
-@@ -1299,7 +1299,7 @@
-                 mgrtypes = []
-                 for s in strings:
-                     try:
--                        x = re.sub("std::string(?!\w)", s, m.group(1))
-+                        x = re.sub(r"std::string(?!\w)", s, m.group(1))
-                         # The following lookup might raise gdb.error if the
-                         # manager function was never instantiated for 's' in the
-                         # program, because there will be no such type.
-@@ -1246,7 +1246,7 @@
-     def __init__ (self, typename, val):
-         valtype = self._recognize (val.type.template_argument(0))
-         typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-+        self.typename = re.sub(r'^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-         payload = val['_M_payload']
-         if self.typename.startswith('std::experimental'):
-             engaged = val['_M_engaged']
-diff '--color=auto' -Naur a/libstdc++-v3/python/libstdcxx/v6/xmethods.py b/libstdc++-v3/python/libstdcxx/v6/xmethods.py
---- a/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2022-08-19 08:09:55.524700157 +0000
-+++ b/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2023-12-09 21:06:42.544909771 +0000
-@@ -148,7 +148,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?array<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?array<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -265,7 +265,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?deque<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?deque<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -309,7 +309,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -390,7 +390,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -505,7 +505,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?vector<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?vector<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -554,7 +554,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -587,9 +587,9 @@
-     def __call__(self, obj):
-         impl_type = obj.dereference().type.fields()[0].type.tag
-         # Check for new implementations first:
--        if re.match('^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-+        if re.match(r'^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-             tuple_member = obj['_M_t']['_M_t']
--        elif re.match('^std::(__\d+::)?tuple<.*>$', impl_type):
-+        elif re.match(r'^std::(__\d+::)?tuple<.*>$', impl_type):
-             tuple_member = obj['_M_t']
-         else:
-             return None
-@@ -651,7 +651,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -720,7 +720,7 @@
- 
-     def __call__(self, obj, index):
-         # Check bounds if _elem_type is an array of known bound
--        m = re.match('.*\[(\d+)]$', str(self._elem_type))
-+        m = re.match(r'.*\[(\d+)]$', str(self._elem_type))
-         if m and index >= int(m.group(1)):
-             raise IndexError('shared_ptr<%s> index "%d" should not be >= %d.' %
-                              (self._elem_type, int(index), int(m.group(1))))
-@@ -769,7 +769,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 0792954c232887..cf8edb36c3b30f 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -3,8 +3,8 @@
 # which use the version number.
 
 pkgname=gcc
-version=13.2.0
-revision=2
+version=14.1.0
+revision=1
 _minorver="${version%.*}"
 _majorver="${_minorver%.*}"
 _gmp_version=6.3.0
@@ -23,7 +23,7 @@ distfiles="
  ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
  ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
  ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
-checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
  277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
  ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
@ 2024-06-14 20:52 ` oreo639
  2024-06-14 20:59 ` oreo639
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-06-14 20:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2389 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages gcc14
https://github.com/void-linux/void-packages/pull/50825

[WIP] gcc: update to 14.1.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

[ci skip]

gcc 14 introduces some breaking changes, the most notable of which is the introduction of new C99+ errors. This needs to be tested to catch breakages (note that `-fpermissive` was also added and can be added to packages as needed).

Note that this doesn't just affect applications but also configuration tests, so some test code that might have been considered conformant C99 with gcc 13 may now be be rejected as ill-formed causing misconfiguration.

On the other hand this also results in some packages, (e.g. on musl) now erroring during compile when built without including the correct basename declaration (good) instead of segfaulting later due to implicit pointer truncation.

https://gcc.gnu.org/gcc-14/changes.html
https://gcc.gnu.org/gcc-14/porting_to.html

Note that distros like Fedora, have already done a lot of work to audit packages for configuration changes and breakages: https://fedoraproject.org/wiki/Changes/PortingToModernC
If you are maintaining a package, feel free to check if there are patches related to gcc14 or the new C99 errors in [Fedora](https://src.fedoraproject.org/) or upstream.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/50825.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gcc14-50825.patch --]
[-- Type: text/x-diff, Size: 34830 bytes --]

From 01d51c4acaec26b7cd81dfd15268cb5d77443833 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:25:00 -0700
Subject: [PATCH 1/6] binutils: update to 2.42.

---
 srcpkgs/binutils/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/binutils/template b/srcpkgs/binutils/template
index a23501510376a7..2cd023b495accc 100644
--- a/srcpkgs/binutils/template
+++ b/srcpkgs/binutils/template
@@ -1,7 +1,7 @@
 # Template file for 'binutils'
 pkgname=binutils
-version=2.41
-revision=3
+version=2.42
+revision=1
 bootstrap=yes
 hostmakedepends="pkgconf"
 makedepends="zlib-devel libzstd-devel"
@@ -10,7 +10,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/binutils/"
 distfiles="${GNU_SITE}/binutils/binutils-${version}.tar.xz"
-checksum=ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
+checksum=f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800
 
 build_options="all_targets"
 desc_option_all_targets="Enable all supported targets"

From 2019336796fab68e3d8cc0ca134c08d8e336fbec Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:30:25 -0700
Subject: [PATCH 2/6] gcc: update to 14.1.0.

---
 common/shlibs                                 |   2 +-
 ...5980633c502f0486a2e40e96224f49134130.patch | 297 ------------------
 ...ad833631486e337e541e692d9b4a1ca14edd.patch | 142 ---------
 ...9de35fb1b293a4fd586574b1b4b73ddf7880.patch |  60 ----
 .../patches/fix-pretty-printer-warnings.patch | 125 --------
 srcpkgs/gcc/template                          |   6 +-
 6 files changed, 4 insertions(+), 628 deletions(-)
 delete mode 100644 srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
 delete mode 100644 srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
 delete mode 100644 srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
 delete mode 100644 srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch

diff --git a/common/shlibs b/common/shlibs
index 80eca3e0a08dca..159c9a5014127a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -63,7 +63,7 @@ libcc1plugin.so.0 gcc-6.2.1_1
 libitm.so.1 libitm-4.7.3_1
 liblto_plugin.so.0 gcc-4.7.3_1
 libgcc_s.so.1 libgcc-4.4.0_1
-libgo.so.22 libgo-13.2.0_1
+libgo.so.23 libgo-14.1.0_1
 libgccjit.so.0 libgccjit-10.2.1pre1_1
 libperl.so.5.38 perl-5.38.0_1
 libgmp.so.10 gmp-5.0.1_1
diff --git a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch b/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
deleted file mode 100644
index d64fabeaad1ec9..00000000000000
--- a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-From 15345980633c502f0486a2e40e96224f49134130 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Tue, 19 Sep 2023 09:26:35 +0200
-Subject: [PATCH] libgomp: Handle NULL environ like pointer to NULL pointer
- [PR111413]
-
-clearenv function just sets environ to NULL (after sometimes freeing it),
-rather than setting it to a pointer to NULL, and our code was assuming
-it is always non-NULL.
-
-Fixed thusly, the change seems to be large but actually is just
-+  if (environ)
-     for (env = environ; *env != 0; env++)
-plus reindentation.  I've also noticed the block after this for loop
-was badly indented (too much) and fixed that too.
-
-No testcase added, as it needs clearenv + dlopen.
-
-2023-09-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR libgomp/111413
-	* env.c (initialize_env): Don't dereference environ if it is NULL.
-	Reindent.
----
- libgomp/env.c | 251 +++++++++++++++++++++++++-------------------------
- 1 file changed, 126 insertions(+), 125 deletions(-)
-
-diff --git a/libgomp/env.c b/libgomp/env.c
-index f24484d7f7074..a21adb3fd4bdb 100644
---- a/libgomp/env.c
-+++ b/libgomp/env.c
-@@ -2224,139 +2224,140 @@ initialize_env (void)
-   none = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_NO_SUFFIX);
-   initialize_icvs (&none->icvs);
- 
--  for (env = environ; *env != 0; env++)
--    {
--      if (!startswith (*env, "OMP_"))
--	continue;
--
--     /* Name of the environment variable without suffix "OMP_".  */
--     char *name = *env + sizeof ("OMP_") - 1;
--     for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
--	{
--	  if (startswith (name, envvars[omp_var].name))
--	    {
--	      pos = envvars[omp_var].name_len;
--	      if (name[pos] == '=')
--		{
--		  pos++;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_ALL=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV_")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
--		{
--		  pos += 5;
--		  if (!get_device_num (*env, &name[pos], &dev_num,
--				       &dev_num_len))
--		    break;
--
--		  pos += dev_num_len + 1;
--		  flag_var_addr
--		    = add_initial_icv_to_list (dev_num,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else
--		{
--		  gomp_error ("Invalid environment variable in %s", *env);
--		  break;
--		}
--	      env_val = &name[pos];
-+  if (environ)
-+    for (env = environ; *env != 0; env++)
-+      {
-+	if (!startswith (*env, "OMP_"))
-+	  continue;
- 
--	      if (envvars[omp_var].parse_func (*env, env_val, params))
--		{
--		  for (i = 0; i < 3; ++i)
--		    if (envvars[omp_var].flag_vars[i])
--		      gomp_set_icv_flag (flag_var_addr,
--					 envvars[omp_var].flag_vars[i]);
--		    else
-+       /* Name of the environment variable without suffix "OMP_".  */
-+       char *name = *env + sizeof ("OMP_") - 1;
-+       for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
-+	  {
-+	    if (startswith (name, envvars[omp_var].name))
-+	      {
-+		pos = envvars[omp_var].name_len;
-+		if (name[pos] == '=')
-+		  {
-+		    pos++;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_ALL=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV_")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
-+		  {
-+		    pos += 5;
-+		    if (!get_device_num (*env, &name[pos], &dev_num,
-+					 &dev_num_len))
- 		      break;
--		}
- 
--	      break;
--	    }
--	}
--    }
-+		    pos += dev_num_len + 1;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (dev_num,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else
-+		  {
-+		    gomp_error ("Invalid environment variable in %s", *env);
-+		    break;
-+		  }
-+		env_val = &name[pos];
- 
--    all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
--    for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
--      {
--	if (none != NULL
--	    && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&none->icvs,
--			       host_envvars[omp_var].flag_var, params);
--	else if (all != NULL
--		 && gomp_get_icv_flag (all->flags,
--				       host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
--			       params);
--	else
--	  continue;
-+		if (envvars[omp_var].parse_func (*env, env_val, params))
-+		  {
-+		    for (i = 0; i < 3; ++i)
-+		      if (envvars[omp_var].flag_vars[i])
-+			gomp_set_icv_flag (flag_var_addr,
-+					   envvars[omp_var].flag_vars[i]);
-+		      else
-+			break;
-+		  }
- 
--	switch (host_envvars[omp_var].type_code)
--	  {
--	  case PARSE_INT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
--	    break;
--	  case PARSE_BOOL:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
--	    break;
--	  case PARSE_UINT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned int *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned int *) params[i];
--	    break;
--	  case PARSE_ULONG:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned long *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned long *) params[i];
--	    break;
--	  case PARSE_UCHAR:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned char *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned char *) params[i];
--	    break;
--	  case PARSE_SCHEDULE:
--	    *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
--	      = *(enum gomp_schedule_type *) params[0];
--	    *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
--	    break;
--	  case PARSE_BIND:
--	    *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
--	    *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
--	    *(unsigned long *) (host_envvars[omp_var].dest[2])
--	      = *(unsigned long *) params[2];
--	    break;
-+		break;
-+	      }
- 	  }
-       }
- 
-+  all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
-+  for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
-+    {
-+      if (none != NULL
-+	  && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&none->icvs,
-+			     host_envvars[omp_var].flag_var, params);
-+      else if (all != NULL
-+	       && gomp_get_icv_flag (all->flags,
-+				     host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
-+			     params);
-+      else
-+	continue;
-+
-+      switch (host_envvars[omp_var].type_code)
-+	{
-+	case PARSE_INT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
-+	  break;
-+	case PARSE_BOOL:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
-+	  break;
-+	case PARSE_UINT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned int *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned int *) params[i];
-+	  break;
-+	case PARSE_ULONG:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned long *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned long *) params[i];
-+	  break;
-+	case PARSE_UCHAR:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned char *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned char *) params[i];
-+	  break;
-+	case PARSE_SCHEDULE:
-+	  *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
-+	    = *(enum gomp_schedule_type *) params[0];
-+	  *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
-+	  break;
-+	case PARSE_BIND:
-+	  *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
-+	  *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
-+	  *(unsigned long *) (host_envvars[omp_var].dest[2])
-+	    = *(unsigned long *) params[2];
-+	  break;
-+	}
-+    }
-+
-   if (((none != NULL && gomp_get_icv_flag (none->flags, GOMP_ICV_BIND))
-        || (all != NULL && gomp_get_icv_flag (all->flags, GOMP_ICV_BIND)))
-       && gomp_global_icv.bind_var == omp_proc_bind_false)
diff --git a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch b/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
deleted file mode 100644
index f9dfee06215537..00000000000000
--- a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From d7bead833631486e337e541e692d9b4a1ca14edd Mon Sep 17 00:00:00 2001
-From: Fangrui Song <i@maskray.me>
-Date: Fri, 28 Apr 2023 09:59:17 -0700
-Subject: [PATCH] [sanitizer] Remove crypt and crypt_r interceptors
-
-From Florian Weimer's D144073
-
-> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
->
-> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
-
-Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
-newer glibc.
-
-For older glibc, msan will not know that an uninstrumented crypt_r call
-initializes `data`, so there is a risk for false positives. However, with some
-codebase survey, I think crypt_r uses are very few and the call sites typically
-have a `memset(&data, 0, sizeof(data));` anyway.
-
-Fix https://github.com/google/sanitizers/issues/1365
-Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
-
-Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
-
-Differential Revision: https://reviews.llvm.org/D149403
----
- .../sanitizer_common_interceptors.inc         | 37 -------------------
- .../sanitizer_platform_interceptors.h         |  2 -
- .../sanitizer_platform_limits_posix.cpp       |  8 ----
- .../sanitizer_platform_limits_posix.h         |  1 -
- .../TestCases/Linux/crypt_r.cpp               | 36 ------------------
- .../TestCases/Posix/crypt.cpp                 | 32 ----------------
- 6 files changed, 116 deletions(-)
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
-
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
-index b30c91f06cfeb0..490a8b12d8b17d 100644
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-@@ -10086,41 +10086,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
- #define INIT_GETRANDOM
- #endif
- 
--#if SANITIZER_INTERCEPT_CRYPT
--INTERCEPTOR(char *, crypt, char *key, char *salt) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt)(key, salt);
--  if (res != nullptr)
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  return res;
--}
--#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
--#else
--#define INIT_CRYPT
--#endif
--
--#if SANITIZER_INTERCEPT_CRYPT_R
--INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt_r)(key, salt, data);
--  if (res != nullptr) {
--    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
--                                   __sanitizer::struct_crypt_data_sz);
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  }
--  return res;
--}
--#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
--#else
--#define INIT_CRYPT_R
--#endif
--
- #if SANITIZER_INTERCEPT_GETENTROPY
- INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
-   void *ctx;
-@@ -10698,8 +10663,6 @@ static void InitializeCommonInterceptors() {
-   INIT_GETUSERSHELL;
-   INIT_SL_INIT;
-   INIT_GETRANDOM;
--  INIT_CRYPT;
--  INIT_CRYPT_R;
-   INIT_GETENTROPY;
-   INIT_QSORT;
-   INIT_QSORT_R;
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
-index eb39fabfd59839..c82ab5c2105621 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -569,8 +569,6 @@
- #define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
- #define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
- #define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
--#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
--#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
- 
- #define SANITIZER_INTERCEPT_GETRANDOM \
-   ((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index a04eed7aa5a6e3..6d61d276d77e35 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -177,10 +177,6 @@ typedef struct user_fpregs elf_fpregset_t;
- #  include "sanitizer_platform_interceptors.h"
- #  include "sanitizer_platform_limits_posix.h"
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--#include <crypt.h>
--#endif
--
- namespace __sanitizer {
-   unsigned struct_utsname_sz = sizeof(struct utsname);
-   unsigned struct_stat_sz = sizeof(struct stat);
-@@ -300,10 +296,6 @@ namespace __sanitizer {
-   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
- #endif // SANITIZER_GLIBC
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--  unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
--#endif
--
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   unsigned struct_timex_sz = sizeof(struct timex);
-   unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-index e6f298c26e1fb6..58244c9944a03a 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -309,7 +309,6 @@ extern unsigned struct_msqid_ds_sz;
- extern unsigned struct_mq_attr_sz;
- extern unsigned struct_timex_sz;
- extern unsigned struct_statvfs_sz;
--extern unsigned struct_crypt_data_sz;
- #endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
- 
- struct __sanitizer_iovec {
diff --git a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch b/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
deleted file mode 100644
index 7338b3dd1ede37..00000000000000
--- a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From f4029de35fb1b293a4fd586574b1b4b73ddf7880 Mon Sep 17 00:00:00 2001
-From: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-Date: Wed, 26 Jul 2023 22:36:26 +0530
-Subject: [PATCH] [aarch64/match.pd] Fix ICE observed in PR110280.
-
-gcc/ChangeLog:
-	PR tree-optimization/110280
-	* match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector
-	using build_vector_from_val with the element of input operand, and
-	mask's type if operand and mask's types don't match.
-
-gcc/testsuite/ChangeLog:
-	PR tree-optimization/110280
-	* gcc.target/aarch64/sve/pr110280.c: New test.
-
-(cherry picked from commit 85d8e0d8d5342ec8b4e6a54e22741c30b33c6f04)
----
- gcc/match.pd                                    |  9 ++++++++-
- gcc/testsuite/gcc.target/aarch64/sve/pr110280.c | 12 ++++++++++++
- 2 files changed, 20 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-
-diff --git a/gcc/match.pd b/gcc/match.pd
-index 9118244825054..c3bb4fbc0a7a2 100644
---- a/gcc/match.pd
-+++ b/gcc/match.pd
-@@ -8292,7 +8292,14 @@ and,
- 
- (simplify
-  (vec_perm vec_same_elem_p@0 @0 @1)
-- @0)
-+ (if (types_match (type, TREE_TYPE (@0)))
-+  @0
-+  (with
-+   {
-+     tree elem = uniform_vector_p (@0);
-+   }
-+   (if (elem)
-+    { build_vector_from_val (type, elem); }))))
- 
- /* Push VEC_PERM earlier if that may help FMA perception (PR101895).  */
- (simplify
-diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-new file mode 100644
-index 0000000000000..d3279f383629f
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-@@ -0,0 +1,12 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O3 -fdump-tree-optimized" } */
-+
-+#include "arm_sve.h"
-+
-+svuint32_t l()
-+{
-+  _Alignas(16) const unsigned int lanes[4] = {0, 0, 0, 0};
-+  return svld1rq_u32(svptrue_b8(), lanes);
-+}
-+
-+/* { dg-final { scan-tree-dump-not "VEC_PERM_EXPR" "optimized" } } */
diff --git a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch b/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
deleted file mode 100644
index 4eeb69b69b1bbd..00000000000000
--- a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- a/libstdc++-v3/python/libstdcxx/v6/printers.py
-+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
-@@ -1198,7 +1198,7 @@
- 
-     def __init__ (self, typename, val):
-         self.typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-+        self.typename = re.sub(r'^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-         self.val = val
-         self.contained_type = None
-         contained_value = None
-@@ -1299,7 +1299,7 @@
-                 mgrtypes = []
-                 for s in strings:
-                     try:
--                        x = re.sub("std::string(?!\w)", s, m.group(1))
-+                        x = re.sub(r"std::string(?!\w)", s, m.group(1))
-                         # The following lookup might raise gdb.error if the
-                         # manager function was never instantiated for 's' in the
-                         # program, because there will be no such type.
-@@ -1246,7 +1246,7 @@
-     def __init__ (self, typename, val):
-         valtype = self._recognize (val.type.template_argument(0))
-         typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-+        self.typename = re.sub(r'^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-         payload = val['_M_payload']
-         if self.typename.startswith('std::experimental'):
-             engaged = val['_M_engaged']
-diff '--color=auto' -Naur a/libstdc++-v3/python/libstdcxx/v6/xmethods.py b/libstdc++-v3/python/libstdcxx/v6/xmethods.py
---- a/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2022-08-19 08:09:55.524700157 +0000
-+++ b/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2023-12-09 21:06:42.544909771 +0000
-@@ -148,7 +148,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?array<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?array<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -265,7 +265,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?deque<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?deque<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -309,7 +309,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -390,7 +390,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -505,7 +505,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?vector<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?vector<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -554,7 +554,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -587,9 +587,9 @@
-     def __call__(self, obj):
-         impl_type = obj.dereference().type.fields()[0].type.tag
-         # Check for new implementations first:
--        if re.match('^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-+        if re.match(r'^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-             tuple_member = obj['_M_t']['_M_t']
--        elif re.match('^std::(__\d+::)?tuple<.*>$', impl_type):
-+        elif re.match(r'^std::(__\d+::)?tuple<.*>$', impl_type):
-             tuple_member = obj['_M_t']
-         else:
-             return None
-@@ -651,7 +651,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -720,7 +720,7 @@
- 
-     def __call__(self, obj, index):
-         # Check bounds if _elem_type is an array of known bound
--        m = re.match('.*\[(\d+)]$', str(self._elem_type))
-+        m = re.match(r'.*\[(\d+)]$', str(self._elem_type))
-         if m and index >= int(m.group(1)):
-             raise IndexError('shared_ptr<%s> index "%d" should not be >= %d.' %
-                              (self._elem_type, int(index), int(m.group(1))))
-@@ -769,7 +769,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 0792954c232887..cf8edb36c3b30f 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -3,8 +3,8 @@
 # which use the version number.
 
 pkgname=gcc
-version=13.2.0
-revision=2
+version=14.1.0
+revision=1
 _minorver="${version%.*}"
 _majorver="${_minorver%.*}"
 _gmp_version=6.3.0
@@ -23,7 +23,7 @@ distfiles="
  ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
  ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
  ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
-checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
  277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
  ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8

From 4c5e72b0eaa982d090b9c8f5b7fa7377d5d043e1 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:49:02 -0700
Subject: [PATCH 3/6] libtool: rebuild for gcc14

---
 srcpkgs/libtool/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libtool/template b/srcpkgs/libtool/template
index ff545abd3f0da5..76b263cff53293 100644
--- a/srcpkgs/libtool/template
+++ b/srcpkgs/libtool/template
@@ -1,7 +1,7 @@
 # Template file for 'libtool'
 pkgname=libtool
 version=2.4.7
-revision=6
+revision=7
 build_style=gnu-configure
 hostmakedepends="texinfo perl automake help2man xz gnulib tar"
 depends="tar"

From c5d2997a486b5f559de14eee55bdf208096b3d0f Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:49:18 -0700
Subject: [PATCH 4/6] mk-configure: rebuild for gcc14

---
 srcpkgs/mk-configure/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mk-configure/template b/srcpkgs/mk-configure/template
index b8320aa5129f98..1a46e170042d85 100644
--- a/srcpkgs/mk-configure/template
+++ b/srcpkgs/mk-configure/template
@@ -1,7 +1,7 @@
 # Template file for 'mk-configure'
 pkgname=mk-configure
 version=0.39.3
-revision=1
+revision=2
 build_style=gnu-makefile
 make_cmd=bmake
 make_install_args="MANDIR=/usr/share/man"

From 27a171ff061beaad9241e6ab6137e217935397e3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:37:33 -0700
Subject: [PATCH 5/6] gcc-multilib: update to 14.1.0.

---
 srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch | 2 +-
 srcpkgs/gcc-multilib/template                        | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
index f43dd62f15d8d3..ad7173e5caaad9 100644
--- a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
+++ b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
@@ -8,5 +8,5 @@
 -               $(HDEFINES) @ac_libiberty_warn_cflags@ -D_GNU_SOURCE \
 +COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -fPIC -I. -I$(INCDIR) \
 +               $(HDEFINES) @ac_libiberty_warn_cflags@ -D_DEFAULT_SOURCE \
-                @CET_HOST_FLAGS@
+                @CET_HOST_FLAGS@ @HWCAP_CFLAGS@
  
diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template
index 6af5541e1db5cd..b05b1c3c2d643b 100644
--- a/srcpkgs/gcc-multilib/template
+++ b/srcpkgs/gcc-multilib/template
@@ -3,7 +3,7 @@ archs="x86_64"
 _triplet="x86_64-unknown-linux-gnu"
 
 pkgname=gcc-multilib
-version=13.2.0
+version=14.1.0
 revision=1
 _majorver="${version%.*}"
 short_desc="GNU Compiler Collection (multilib files)"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 homepage="http://gcc.gnu.org"
 license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz"
-checksum=e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum=e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
 
 hostmakedepends="perl flex tar zip unzip"
 makedepends="zlib-devel libmpc-devel isl-devel libfl-devel
@@ -69,6 +69,7 @@ do_configure() {
 do_build() {
 	make ${makejobs}
 }
+
 do_install() {
 	local _pc_triplet=x86_64-pc-linux-gnu
 	# Install to a tempdir and then only copy relevant files.

From 1eb434d7ce33843bc4a614c7be72ca5bfeb08523 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:42:23 -0700
Subject: [PATCH 6/6] libgccjit: update to 14.1.0.

---
 srcpkgs/libgccjit/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/libgccjit/template b/srcpkgs/libgccjit/template
index e130b534614960..4ec631f4e5e1ad 100644
--- a/srcpkgs/libgccjit/template
+++ b/srcpkgs/libgccjit/template
@@ -3,12 +3,12 @@
 # which use the version number.
 
 pkgname=libgccjit
-version=13.2.0
+version=14.1.0
 revision=1
 _gmp_version=6.3.0
-_mpfr_version=4.2.0
+_mpfr_version=4.2.1
 _mpc_version=1.3.1
-_isl_version=0.24
+_isl_version=0.26
 create_wrksrc=yes
 short_desc="Just-In-Time Compilation library for GCC"
 maintainer="Lane Biocini <lane@mailbox.org>"
@@ -21,11 +21,11 @@ distfiles="
  ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
  ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
  ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
-checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
- 06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993
+ 277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
  ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8
- fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0"
+ 5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436"
 nopie=yes
 lib32disabled=yes
 makedepends="zlib-devel"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
  2024-06-14 20:52 ` [PR PATCH] [Updated] " oreo639
@ 2024-06-14 20:59 ` oreo639
  2024-06-14 21:09 ` oreo639
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-06-14 20:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2389 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages gcc14
https://github.com/void-linux/void-packages/pull/50825

[WIP] gcc: update to 14.1.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

[ci skip]

gcc 14 introduces some breaking changes, the most notable of which is the introduction of new C99+ errors. This needs to be tested to catch breakages (note that `-fpermissive` was also added and can be added to packages as needed).

Note that this doesn't just affect applications but also configuration tests, so some test code that might have been considered conformant C99 with gcc 13 may now be be rejected as ill-formed causing misconfiguration.

On the other hand this also results in some packages, (e.g. on musl) now erroring during compile when built without including the correct basename declaration (good) instead of segfaulting later due to implicit pointer truncation.

https://gcc.gnu.org/gcc-14/changes.html
https://gcc.gnu.org/gcc-14/porting_to.html

Note that distros like Fedora, have already done a lot of work to audit packages for configuration changes and breakages: https://fedoraproject.org/wiki/Changes/PortingToModernC
If you are maintaining a package, feel free to check if there are patches related to gcc14 or the new C99 errors in [Fedora](https://src.fedoraproject.org/) or upstream.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/50825.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gcc14-50825.patch --]
[-- Type: text/x-diff, Size: 75776 bytes --]

From 01d51c4acaec26b7cd81dfd15268cb5d77443833 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:25:00 -0700
Subject: [PATCH 01/32] binutils: update to 2.42.

---
 srcpkgs/binutils/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/binutils/template b/srcpkgs/binutils/template
index a23501510376a7..2cd023b495accc 100644
--- a/srcpkgs/binutils/template
+++ b/srcpkgs/binutils/template
@@ -1,7 +1,7 @@
 # Template file for 'binutils'
 pkgname=binutils
-version=2.41
-revision=3
+version=2.42
+revision=1
 bootstrap=yes
 hostmakedepends="pkgconf"
 makedepends="zlib-devel libzstd-devel"
@@ -10,7 +10,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/binutils/"
 distfiles="${GNU_SITE}/binutils/binutils-${version}.tar.xz"
-checksum=ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
+checksum=f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800
 
 build_options="all_targets"
 desc_option_all_targets="Enable all supported targets"

From 2019336796fab68e3d8cc0ca134c08d8e336fbec Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:30:25 -0700
Subject: [PATCH 02/32] gcc: update to 14.1.0.

---
 common/shlibs                                 |   2 +-
 ...5980633c502f0486a2e40e96224f49134130.patch | 297 ------------------
 ...ad833631486e337e541e692d9b4a1ca14edd.patch | 142 ---------
 ...9de35fb1b293a4fd586574b1b4b73ddf7880.patch |  60 ----
 .../patches/fix-pretty-printer-warnings.patch | 125 --------
 srcpkgs/gcc/template                          |   6 +-
 6 files changed, 4 insertions(+), 628 deletions(-)
 delete mode 100644 srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
 delete mode 100644 srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
 delete mode 100644 srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
 delete mode 100644 srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch

diff --git a/common/shlibs b/common/shlibs
index 80eca3e0a08dca..159c9a5014127a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -63,7 +63,7 @@ libcc1plugin.so.0 gcc-6.2.1_1
 libitm.so.1 libitm-4.7.3_1
 liblto_plugin.so.0 gcc-4.7.3_1
 libgcc_s.so.1 libgcc-4.4.0_1
-libgo.so.22 libgo-13.2.0_1
+libgo.so.23 libgo-14.1.0_1
 libgccjit.so.0 libgccjit-10.2.1pre1_1
 libperl.so.5.38 perl-5.38.0_1
 libgmp.so.10 gmp-5.0.1_1
diff --git a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch b/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
deleted file mode 100644
index d64fabeaad1ec9..00000000000000
--- a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-From 15345980633c502f0486a2e40e96224f49134130 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Tue, 19 Sep 2023 09:26:35 +0200
-Subject: [PATCH] libgomp: Handle NULL environ like pointer to NULL pointer
- [PR111413]
-
-clearenv function just sets environ to NULL (after sometimes freeing it),
-rather than setting it to a pointer to NULL, and our code was assuming
-it is always non-NULL.
-
-Fixed thusly, the change seems to be large but actually is just
-+  if (environ)
-     for (env = environ; *env != 0; env++)
-plus reindentation.  I've also noticed the block after this for loop
-was badly indented (too much) and fixed that too.
-
-No testcase added, as it needs clearenv + dlopen.
-
-2023-09-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR libgomp/111413
-	* env.c (initialize_env): Don't dereference environ if it is NULL.
-	Reindent.
----
- libgomp/env.c | 251 +++++++++++++++++++++++++-------------------------
- 1 file changed, 126 insertions(+), 125 deletions(-)
-
-diff --git a/libgomp/env.c b/libgomp/env.c
-index f24484d7f7074..a21adb3fd4bdb 100644
---- a/libgomp/env.c
-+++ b/libgomp/env.c
-@@ -2224,139 +2224,140 @@ initialize_env (void)
-   none = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_NO_SUFFIX);
-   initialize_icvs (&none->icvs);
- 
--  for (env = environ; *env != 0; env++)
--    {
--      if (!startswith (*env, "OMP_"))
--	continue;
--
--     /* Name of the environment variable without suffix "OMP_".  */
--     char *name = *env + sizeof ("OMP_") - 1;
--     for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
--	{
--	  if (startswith (name, envvars[omp_var].name))
--	    {
--	      pos = envvars[omp_var].name_len;
--	      if (name[pos] == '=')
--		{
--		  pos++;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_ALL=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV_")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
--		{
--		  pos += 5;
--		  if (!get_device_num (*env, &name[pos], &dev_num,
--				       &dev_num_len))
--		    break;
--
--		  pos += dev_num_len + 1;
--		  flag_var_addr
--		    = add_initial_icv_to_list (dev_num,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else
--		{
--		  gomp_error ("Invalid environment variable in %s", *env);
--		  break;
--		}
--	      env_val = &name[pos];
-+  if (environ)
-+    for (env = environ; *env != 0; env++)
-+      {
-+	if (!startswith (*env, "OMP_"))
-+	  continue;
- 
--	      if (envvars[omp_var].parse_func (*env, env_val, params))
--		{
--		  for (i = 0; i < 3; ++i)
--		    if (envvars[omp_var].flag_vars[i])
--		      gomp_set_icv_flag (flag_var_addr,
--					 envvars[omp_var].flag_vars[i]);
--		    else
-+       /* Name of the environment variable without suffix "OMP_".  */
-+       char *name = *env + sizeof ("OMP_") - 1;
-+       for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
-+	  {
-+	    if (startswith (name, envvars[omp_var].name))
-+	      {
-+		pos = envvars[omp_var].name_len;
-+		if (name[pos] == '=')
-+		  {
-+		    pos++;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_ALL=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV_")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
-+		  {
-+		    pos += 5;
-+		    if (!get_device_num (*env, &name[pos], &dev_num,
-+					 &dev_num_len))
- 		      break;
--		}
- 
--	      break;
--	    }
--	}
--    }
-+		    pos += dev_num_len + 1;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (dev_num,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else
-+		  {
-+		    gomp_error ("Invalid environment variable in %s", *env);
-+		    break;
-+		  }
-+		env_val = &name[pos];
- 
--    all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
--    for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
--      {
--	if (none != NULL
--	    && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&none->icvs,
--			       host_envvars[omp_var].flag_var, params);
--	else if (all != NULL
--		 && gomp_get_icv_flag (all->flags,
--				       host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
--			       params);
--	else
--	  continue;
-+		if (envvars[omp_var].parse_func (*env, env_val, params))
-+		  {
-+		    for (i = 0; i < 3; ++i)
-+		      if (envvars[omp_var].flag_vars[i])
-+			gomp_set_icv_flag (flag_var_addr,
-+					   envvars[omp_var].flag_vars[i]);
-+		      else
-+			break;
-+		  }
- 
--	switch (host_envvars[omp_var].type_code)
--	  {
--	  case PARSE_INT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
--	    break;
--	  case PARSE_BOOL:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
--	    break;
--	  case PARSE_UINT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned int *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned int *) params[i];
--	    break;
--	  case PARSE_ULONG:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned long *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned long *) params[i];
--	    break;
--	  case PARSE_UCHAR:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned char *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned char *) params[i];
--	    break;
--	  case PARSE_SCHEDULE:
--	    *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
--	      = *(enum gomp_schedule_type *) params[0];
--	    *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
--	    break;
--	  case PARSE_BIND:
--	    *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
--	    *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
--	    *(unsigned long *) (host_envvars[omp_var].dest[2])
--	      = *(unsigned long *) params[2];
--	    break;
-+		break;
-+	      }
- 	  }
-       }
- 
-+  all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
-+  for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
-+    {
-+      if (none != NULL
-+	  && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&none->icvs,
-+			     host_envvars[omp_var].flag_var, params);
-+      else if (all != NULL
-+	       && gomp_get_icv_flag (all->flags,
-+				     host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
-+			     params);
-+      else
-+	continue;
-+
-+      switch (host_envvars[omp_var].type_code)
-+	{
-+	case PARSE_INT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
-+	  break;
-+	case PARSE_BOOL:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
-+	  break;
-+	case PARSE_UINT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned int *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned int *) params[i];
-+	  break;
-+	case PARSE_ULONG:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned long *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned long *) params[i];
-+	  break;
-+	case PARSE_UCHAR:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned char *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned char *) params[i];
-+	  break;
-+	case PARSE_SCHEDULE:
-+	  *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
-+	    = *(enum gomp_schedule_type *) params[0];
-+	  *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
-+	  break;
-+	case PARSE_BIND:
-+	  *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
-+	  *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
-+	  *(unsigned long *) (host_envvars[omp_var].dest[2])
-+	    = *(unsigned long *) params[2];
-+	  break;
-+	}
-+    }
-+
-   if (((none != NULL && gomp_get_icv_flag (none->flags, GOMP_ICV_BIND))
-        || (all != NULL && gomp_get_icv_flag (all->flags, GOMP_ICV_BIND)))
-       && gomp_global_icv.bind_var == omp_proc_bind_false)
diff --git a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch b/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
deleted file mode 100644
index f9dfee06215537..00000000000000
--- a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From d7bead833631486e337e541e692d9b4a1ca14edd Mon Sep 17 00:00:00 2001
-From: Fangrui Song <i@maskray.me>
-Date: Fri, 28 Apr 2023 09:59:17 -0700
-Subject: [PATCH] [sanitizer] Remove crypt and crypt_r interceptors
-
-From Florian Weimer's D144073
-
-> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
->
-> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
-
-Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
-newer glibc.
-
-For older glibc, msan will not know that an uninstrumented crypt_r call
-initializes `data`, so there is a risk for false positives. However, with some
-codebase survey, I think crypt_r uses are very few and the call sites typically
-have a `memset(&data, 0, sizeof(data));` anyway.
-
-Fix https://github.com/google/sanitizers/issues/1365
-Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
-
-Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
-
-Differential Revision: https://reviews.llvm.org/D149403
----
- .../sanitizer_common_interceptors.inc         | 37 -------------------
- .../sanitizer_platform_interceptors.h         |  2 -
- .../sanitizer_platform_limits_posix.cpp       |  8 ----
- .../sanitizer_platform_limits_posix.h         |  1 -
- .../TestCases/Linux/crypt_r.cpp               | 36 ------------------
- .../TestCases/Posix/crypt.cpp                 | 32 ----------------
- 6 files changed, 116 deletions(-)
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
-
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
-index b30c91f06cfeb0..490a8b12d8b17d 100644
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-@@ -10086,41 +10086,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
- #define INIT_GETRANDOM
- #endif
- 
--#if SANITIZER_INTERCEPT_CRYPT
--INTERCEPTOR(char *, crypt, char *key, char *salt) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt)(key, salt);
--  if (res != nullptr)
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  return res;
--}
--#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
--#else
--#define INIT_CRYPT
--#endif
--
--#if SANITIZER_INTERCEPT_CRYPT_R
--INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt_r)(key, salt, data);
--  if (res != nullptr) {
--    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
--                                   __sanitizer::struct_crypt_data_sz);
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  }
--  return res;
--}
--#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
--#else
--#define INIT_CRYPT_R
--#endif
--
- #if SANITIZER_INTERCEPT_GETENTROPY
- INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
-   void *ctx;
-@@ -10698,8 +10663,6 @@ static void InitializeCommonInterceptors() {
-   INIT_GETUSERSHELL;
-   INIT_SL_INIT;
-   INIT_GETRANDOM;
--  INIT_CRYPT;
--  INIT_CRYPT_R;
-   INIT_GETENTROPY;
-   INIT_QSORT;
-   INIT_QSORT_R;
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
-index eb39fabfd59839..c82ab5c2105621 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -569,8 +569,6 @@
- #define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
- #define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
- #define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
--#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
--#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
- 
- #define SANITIZER_INTERCEPT_GETRANDOM \
-   ((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index a04eed7aa5a6e3..6d61d276d77e35 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -177,10 +177,6 @@ typedef struct user_fpregs elf_fpregset_t;
- #  include "sanitizer_platform_interceptors.h"
- #  include "sanitizer_platform_limits_posix.h"
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--#include <crypt.h>
--#endif
--
- namespace __sanitizer {
-   unsigned struct_utsname_sz = sizeof(struct utsname);
-   unsigned struct_stat_sz = sizeof(struct stat);
-@@ -300,10 +296,6 @@ namespace __sanitizer {
-   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
- #endif // SANITIZER_GLIBC
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--  unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
--#endif
--
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   unsigned struct_timex_sz = sizeof(struct timex);
-   unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-index e6f298c26e1fb6..58244c9944a03a 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -309,7 +309,6 @@ extern unsigned struct_msqid_ds_sz;
- extern unsigned struct_mq_attr_sz;
- extern unsigned struct_timex_sz;
- extern unsigned struct_statvfs_sz;
--extern unsigned struct_crypt_data_sz;
- #endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
- 
- struct __sanitizer_iovec {
diff --git a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch b/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
deleted file mode 100644
index 7338b3dd1ede37..00000000000000
--- a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From f4029de35fb1b293a4fd586574b1b4b73ddf7880 Mon Sep 17 00:00:00 2001
-From: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-Date: Wed, 26 Jul 2023 22:36:26 +0530
-Subject: [PATCH] [aarch64/match.pd] Fix ICE observed in PR110280.
-
-gcc/ChangeLog:
-	PR tree-optimization/110280
-	* match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector
-	using build_vector_from_val with the element of input operand, and
-	mask's type if operand and mask's types don't match.
-
-gcc/testsuite/ChangeLog:
-	PR tree-optimization/110280
-	* gcc.target/aarch64/sve/pr110280.c: New test.
-
-(cherry picked from commit 85d8e0d8d5342ec8b4e6a54e22741c30b33c6f04)
----
- gcc/match.pd                                    |  9 ++++++++-
- gcc/testsuite/gcc.target/aarch64/sve/pr110280.c | 12 ++++++++++++
- 2 files changed, 20 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-
-diff --git a/gcc/match.pd b/gcc/match.pd
-index 9118244825054..c3bb4fbc0a7a2 100644
---- a/gcc/match.pd
-+++ b/gcc/match.pd
-@@ -8292,7 +8292,14 @@ and,
- 
- (simplify
-  (vec_perm vec_same_elem_p@0 @0 @1)
-- @0)
-+ (if (types_match (type, TREE_TYPE (@0)))
-+  @0
-+  (with
-+   {
-+     tree elem = uniform_vector_p (@0);
-+   }
-+   (if (elem)
-+    { build_vector_from_val (type, elem); }))))
- 
- /* Push VEC_PERM earlier if that may help FMA perception (PR101895).  */
- (simplify
-diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-new file mode 100644
-index 0000000000000..d3279f383629f
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-@@ -0,0 +1,12 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O3 -fdump-tree-optimized" } */
-+
-+#include "arm_sve.h"
-+
-+svuint32_t l()
-+{
-+  _Alignas(16) const unsigned int lanes[4] = {0, 0, 0, 0};
-+  return svld1rq_u32(svptrue_b8(), lanes);
-+}
-+
-+/* { dg-final { scan-tree-dump-not "VEC_PERM_EXPR" "optimized" } } */
diff --git a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch b/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
deleted file mode 100644
index 4eeb69b69b1bbd..00000000000000
--- a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- a/libstdc++-v3/python/libstdcxx/v6/printers.py
-+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
-@@ -1198,7 +1198,7 @@
- 
-     def __init__ (self, typename, val):
-         self.typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-+        self.typename = re.sub(r'^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-         self.val = val
-         self.contained_type = None
-         contained_value = None
-@@ -1299,7 +1299,7 @@
-                 mgrtypes = []
-                 for s in strings:
-                     try:
--                        x = re.sub("std::string(?!\w)", s, m.group(1))
-+                        x = re.sub(r"std::string(?!\w)", s, m.group(1))
-                         # The following lookup might raise gdb.error if the
-                         # manager function was never instantiated for 's' in the
-                         # program, because there will be no such type.
-@@ -1246,7 +1246,7 @@
-     def __init__ (self, typename, val):
-         valtype = self._recognize (val.type.template_argument(0))
-         typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-+        self.typename = re.sub(r'^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-         payload = val['_M_payload']
-         if self.typename.startswith('std::experimental'):
-             engaged = val['_M_engaged']
-diff '--color=auto' -Naur a/libstdc++-v3/python/libstdcxx/v6/xmethods.py b/libstdc++-v3/python/libstdcxx/v6/xmethods.py
---- a/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2022-08-19 08:09:55.524700157 +0000
-+++ b/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2023-12-09 21:06:42.544909771 +0000
-@@ -148,7 +148,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?array<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?array<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -265,7 +265,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?deque<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?deque<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -309,7 +309,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -390,7 +390,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -505,7 +505,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?vector<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?vector<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -554,7 +554,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -587,9 +587,9 @@
-     def __call__(self, obj):
-         impl_type = obj.dereference().type.fields()[0].type.tag
-         # Check for new implementations first:
--        if re.match('^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-+        if re.match(r'^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-             tuple_member = obj['_M_t']['_M_t']
--        elif re.match('^std::(__\d+::)?tuple<.*>$', impl_type):
-+        elif re.match(r'^std::(__\d+::)?tuple<.*>$', impl_type):
-             tuple_member = obj['_M_t']
-         else:
-             return None
-@@ -651,7 +651,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -720,7 +720,7 @@
- 
-     def __call__(self, obj, index):
-         # Check bounds if _elem_type is an array of known bound
--        m = re.match('.*\[(\d+)]$', str(self._elem_type))
-+        m = re.match(r'.*\[(\d+)]$', str(self._elem_type))
-         if m and index >= int(m.group(1)):
-             raise IndexError('shared_ptr<%s> index "%d" should not be >= %d.' %
-                              (self._elem_type, int(index), int(m.group(1))))
-@@ -769,7 +769,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 0792954c232887..cf8edb36c3b30f 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -3,8 +3,8 @@
 # which use the version number.
 
 pkgname=gcc
-version=13.2.0
-revision=2
+version=14.1.0
+revision=1
 _minorver="${version%.*}"
 _majorver="${_minorver%.*}"
 _gmp_version=6.3.0
@@ -23,7 +23,7 @@ distfiles="
  ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
  ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
  ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
-checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
  277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
  ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8

From 4c5e72b0eaa982d090b9c8f5b7fa7377d5d043e1 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:49:02 -0700
Subject: [PATCH 03/32] libtool: rebuild for gcc14

---
 srcpkgs/libtool/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libtool/template b/srcpkgs/libtool/template
index ff545abd3f0da5..76b263cff53293 100644
--- a/srcpkgs/libtool/template
+++ b/srcpkgs/libtool/template
@@ -1,7 +1,7 @@
 # Template file for 'libtool'
 pkgname=libtool
 version=2.4.7
-revision=6
+revision=7
 build_style=gnu-configure
 hostmakedepends="texinfo perl automake help2man xz gnulib tar"
 depends="tar"

From c5d2997a486b5f559de14eee55bdf208096b3d0f Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:49:18 -0700
Subject: [PATCH 04/32] mk-configure: rebuild for gcc14

---
 srcpkgs/mk-configure/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mk-configure/template b/srcpkgs/mk-configure/template
index b8320aa5129f98..1a46e170042d85 100644
--- a/srcpkgs/mk-configure/template
+++ b/srcpkgs/mk-configure/template
@@ -1,7 +1,7 @@
 # Template file for 'mk-configure'
 pkgname=mk-configure
 version=0.39.3
-revision=1
+revision=2
 build_style=gnu-makefile
 make_cmd=bmake
 make_install_args="MANDIR=/usr/share/man"

From 27a171ff061beaad9241e6ab6137e217935397e3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:37:33 -0700
Subject: [PATCH 05/32] gcc-multilib: update to 14.1.0.

---
 srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch | 2 +-
 srcpkgs/gcc-multilib/template                        | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
index f43dd62f15d8d3..ad7173e5caaad9 100644
--- a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
+++ b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
@@ -8,5 +8,5 @@
 -               $(HDEFINES) @ac_libiberty_warn_cflags@ -D_GNU_SOURCE \
 +COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -fPIC -I. -I$(INCDIR) \
 +               $(HDEFINES) @ac_libiberty_warn_cflags@ -D_DEFAULT_SOURCE \
-                @CET_HOST_FLAGS@
+                @CET_HOST_FLAGS@ @HWCAP_CFLAGS@
  
diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template
index 6af5541e1db5cd..b05b1c3c2d643b 100644
--- a/srcpkgs/gcc-multilib/template
+++ b/srcpkgs/gcc-multilib/template
@@ -3,7 +3,7 @@ archs="x86_64"
 _triplet="x86_64-unknown-linux-gnu"
 
 pkgname=gcc-multilib
-version=13.2.0
+version=14.1.0
 revision=1
 _majorver="${version%.*}"
 short_desc="GNU Compiler Collection (multilib files)"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 homepage="http://gcc.gnu.org"
 license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz"
-checksum=e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum=e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
 
 hostmakedepends="perl flex tar zip unzip"
 makedepends="zlib-devel libmpc-devel isl-devel libfl-devel
@@ -69,6 +69,7 @@ do_configure() {
 do_build() {
 	make ${makejobs}
 }
+
 do_install() {
 	local _pc_triplet=x86_64-pc-linux-gnu
 	# Install to a tempdir and then only copy relevant files.

From 1eb434d7ce33843bc4a614c7be72ca5bfeb08523 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:42:23 -0700
Subject: [PATCH 06/32] libgccjit: update to 14.1.0.

---
 srcpkgs/libgccjit/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/libgccjit/template b/srcpkgs/libgccjit/template
index e130b534614960..4ec631f4e5e1ad 100644
--- a/srcpkgs/libgccjit/template
+++ b/srcpkgs/libgccjit/template
@@ -3,12 +3,12 @@
 # which use the version number.
 
 pkgname=libgccjit
-version=13.2.0
+version=14.1.0
 revision=1
 _gmp_version=6.3.0
-_mpfr_version=4.2.0
+_mpfr_version=4.2.1
 _mpc_version=1.3.1
-_isl_version=0.24
+_isl_version=0.26
 create_wrksrc=yes
 short_desc="Just-In-Time Compilation library for GCC"
 maintainer="Lane Biocini <lane@mailbox.org>"
@@ -21,11 +21,11 @@ distfiles="
  ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
  ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
  ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
-checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
- 06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993
+ 277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
  ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8
- fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0"
+ 5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436"
 nopie=yes
 lib32disabled=yes
 makedepends="zlib-devel"

From 9a3577ab2a6f3746ae062fec2cf000da8b7d45f1 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 07/32] cross-aarch64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-aarch64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template
index 73adbee7e8533b..9aa60f0ec3305e 100644
--- a/srcpkgs/cross-aarch64-linux-gnu/template
+++ b/srcpkgs/cross-aarch64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-aarch64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-aarch64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -21,7 +21,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From e35064e956d71e7a81f3dc71c10d2b0358f0dada Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 08/32] cross-aarch64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-aarch64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 074001d0288098..c61157a89e2694 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-aarch64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-aarch64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -24,7 +24,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 02a25191c81010ab4b20b6291fa24a75e3323bf0 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 09/32] cross-arm-linux-gnueabi: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-gnueabi/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index e3cc4a28a3dc5e..f204e1a4a68355 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-arm-linux-gnueabi'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-arm-linux-gnueabi
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft
  --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 2df952a049191161f65d901304174e4291a128c5 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 10/32] cross-arm-linux-gnueabihf: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 09de642208a2c8..96f89eafd0e02b 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-arm-linux-gnueabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-arm-linux-gnueabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
  --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 77c29d9bca2e6d7a9bb6e7c4167f6ca5ffd007ba Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 11/32] cross-arm-linux-musleabi: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-musleabi/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 79801b4d7b0255..3de330c05af1f4 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-arm-linux-musleabi'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-arm-linux-musleabi
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft
  --enable-autolink-libatomic"
@@ -25,7 +25,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 781cdb1b39fa0c54aaa73d63361caada78504200 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 12/32] cross-arm-linux-musleabihf: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-musleabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 87629a415a1352..56473a79e70a3f 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-arm-linux-musleabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-arm-linux-musleabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
  --enable-autolink-libatomic"
@@ -25,7 +25,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From aa4981d6efcb73863c83aa76150ca5047a9d3382 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 13/32] cross-armv7l-linux-gnueabihf: update to gcc 14.1.0

---
 srcpkgs/cross-armv7l-linux-gnueabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/template b/srcpkgs/cross-armv7l-linux-gnueabihf/template
index ceae6971ee484c..d2c128bef96f14 100644
--- a/srcpkgs/cross-armv7l-linux-gnueabihf/template
+++ b/srcpkgs/cross-armv7l-linux-gnueabihf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-armv7l-linux-gnueabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-armv7l-linux-gnueabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -21,7 +21,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From e45b574f23d7d106c067f483ce3a343bd956b2ba Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 14/32] cross-armv7l-linux-musleabihf: update to gcc 14.1.0

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index b08278c7207386..67ff5b1343ddd6 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-armv7l-linux-musleabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-armv7l-linux-musleabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -24,7 +24,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From c6520554863c443fc022173ec9305e2d56c5291d Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 15/32] cross-i686-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-i686-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index d37bb61b0e5a08..35cc91db60f367 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-i686-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-i686-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -23,7 +23,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From ae2129e5a87f7ac59921d3ec956619e88557b155 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 16/32] cross-i686-pc-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-i686-pc-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-i686-pc-linux-gnu/template b/srcpkgs/cross-i686-pc-linux-gnu/template
index 30321dad671f0f..a37677f5ac87cc 100644
--- a/srcpkgs/cross-i686-pc-linux-gnu/template
+++ b/srcpkgs/cross-i686-pc-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-i686-pc-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-i686-pc-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -20,7 +20,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 358eb6bfea06ca48131d2547e960807ff038bf08 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 17/32] cross-mips-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-mips-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index bfb9d16a1be021..94c2ede4f46711 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mips-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mips-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 5cb4aa21ba8a54bd32dbfdfd1c73222327257b1b Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 18/32] cross-mips-linux-muslhf: update to gcc 14.1.0

---
 srcpkgs/cross-mips-linux-muslhf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 6ca7fc6274d4db..94422d3fa09291 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mips-linux-muslhf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mips-linux-muslhf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 6c98a139bc1763a50317350f25e1a52b045ab7c4 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 19/32] cross-mipsel-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-mipsel-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 1ed2f94ad10d43..046f36c0753c7e 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mipsel-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mipsel-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 6cc29c31bc02fb1089f86a8b71a31c1a4c54d934 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 20/32] cross-mipsel-linux-muslhf: update to gcc 14.1.0

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index fc8f1294f6a017..380bdf58c2f9bf 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mipsel-linux-muslhf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mipsel-linux-muslhf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 277669192317e0181bddc649cb84255091f53348 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 21/32] cross-powerpc-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template
index ec1753414cd5ad..03eab919c3ac87 100644
--- a/srcpkgs/cross-powerpc-linux-gnu/template
+++ b/srcpkgs/cross-powerpc-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpc-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 48425aec6d84f02573c9b0ad05308f3f5769ef55 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 22/32] cross-powerpc-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 52844bf5512cca..05a04696fda062 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-powerpc-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From fa2e09ebb6fa4b17cf8e5b27d59124ce189134fe Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 23/32] cross-powerpc64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template
index 5ab4acec45fdb6..159f2d18262b96 100644
--- a/srcpkgs/cross-powerpc64-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpc64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
  --enable-targets=powerpc-linux --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 4e6b1bdcc4bd63383ab438b190a07d2293eda9da Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 24/32] cross-powerpc64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 02fe3f55f82c65..4c8cec0c297b20 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-powerpc64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-powerpc64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux
@@ -26,7 +26,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From bb856edf039dd4d1647829c9df3c047d2951aa4b Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 25/32] cross-powerpc64le-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64le-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template
index 1fe9ebf6d47fb6..176eb64178cca1 100644
--- a/srcpkgs/cross-powerpc64le-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64le-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc64le-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpc64le-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
  --enable-targets=powerpcle-linux --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 6e0b04a60426271f60c1fc263826c9648e32acbc Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 26/32] cross-powerpc64le-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 9cc49d05a23398..ebe1b15e119cb7 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-powerpc64le-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-powerpc64le-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux
@@ -26,7 +26,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 901bb624d625d431e7e55b5d375eede888be4f5d Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 27/32] cross-powerpcle-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpcle-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template
index 3a0cd0d6bb4b4d..1f006a9d7ba431 100644
--- a/srcpkgs/cross-powerpcle-linux-gnu/template
+++ b/srcpkgs/cross-powerpcle-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpcle-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpcle-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From eaad04c0f30a3a1baec55e213d985df5010f1366 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 28/32] cross-powerpcle-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpcle-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 15615e6d7f98d7..f647419ddaa4c5 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpcle-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-powerpcle-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From c0bc5cfaffdaecd6bf667b28d710da2340011a71 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 29/32] cross-riscv64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-riscv64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
index 5d56ce853d9606..1b650fc76e457b 100644
--- a/srcpkgs/cross-riscv64-linux-gnu/template
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-riscv64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-riscv64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -21,7 +21,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 7a63c3f14f2bc6f151bc2a9075852d21cf12bde7 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 30/32] cross-riscv64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-riscv64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
index c3ade518330dcb..3ca3b7dc27ec5f 100644
--- a/srcpkgs/cross-riscv64-linux-musl/template
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-riscv64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-riscv64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -24,7 +24,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 86ad8045c1d1f7146d5037490a25e78bf0e50e33 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 31/32] cross-x86_64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-x86_64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-x86_64-linux-gnu/template b/srcpkgs/cross-x86_64-linux-gnu/template
index 8cca832896c4d4..fc815acb0ff028 100644
--- a/srcpkgs/cross-x86_64-linux-gnu/template
+++ b/srcpkgs/cross-x86_64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-x86_64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-x86_64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -20,7 +20,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 478178efae84c62ffa1d32d17eb971d84db58a8d Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 32/32] cross-x86_64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-x86_64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 0ba8decce2aeb1..38f2ae80a2035e 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-x86_64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-x86_64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -23,7 +23,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
  2024-06-14 20:52 ` [PR PATCH] [Updated] " oreo639
  2024-06-14 20:59 ` oreo639
@ 2024-06-14 21:09 ` oreo639
  2024-07-09  1:06 ` Calandracas606
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-06-14 21:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2389 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages gcc14
https://github.com/void-linux/void-packages/pull/50825

[WIP] gcc: update to 14.1.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

[ci skip]

gcc 14 introduces some breaking changes, the most notable of which is the introduction of new C99+ errors. This needs to be tested to catch breakages (note that `-fpermissive` was also added and can be added to packages as needed).

Note that this doesn't just affect applications but also configuration tests, so some test code that might have been considered conformant C99 with gcc 13 may now be be rejected as ill-formed causing misconfiguration.

On the other hand this also results in some packages, (e.g. on musl) now erroring during compile when built without including the correct basename declaration (good) instead of segfaulting later due to implicit pointer truncation.

https://gcc.gnu.org/gcc-14/changes.html
https://gcc.gnu.org/gcc-14/porting_to.html

Note that distros like Fedora, have already done a lot of work to audit packages for configuration changes and breakages: https://fedoraproject.org/wiki/Changes/PortingToModernC
If you are maintaining a package, feel free to check if there are patches related to gcc14 or the new C99 errors in [Fedora](https://src.fedoraproject.org/) or upstream.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/50825.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gcc14-50825.patch --]
[-- Type: text/x-diff, Size: 77050 bytes --]

From 01d51c4acaec26b7cd81dfd15268cb5d77443833 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:25:00 -0700
Subject: [PATCH 01/33] binutils: update to 2.42.

---
 srcpkgs/binutils/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/binutils/template b/srcpkgs/binutils/template
index a23501510376a7..2cd023b495accc 100644
--- a/srcpkgs/binutils/template
+++ b/srcpkgs/binutils/template
@@ -1,7 +1,7 @@
 # Template file for 'binutils'
 pkgname=binutils
-version=2.41
-revision=3
+version=2.42
+revision=1
 bootstrap=yes
 hostmakedepends="pkgconf"
 makedepends="zlib-devel libzstd-devel"
@@ -10,7 +10,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/binutils/"
 distfiles="${GNU_SITE}/binutils/binutils-${version}.tar.xz"
-checksum=ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
+checksum=f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800
 
 build_options="all_targets"
 desc_option_all_targets="Enable all supported targets"

From 4e871d565994b95152ff5dc65c682e1d36128be5 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Thu, 13 Jun 2024 23:30:25 -0700
Subject: [PATCH 02/33] gcc: update to 14.1.0.

---
 common/shlibs                                 |   6 +-
 ...5980633c502f0486a2e40e96224f49134130.patch | 297 ------------------
 ...ad833631486e337e541e692d9b4a1ca14edd.patch | 142 ---------
 ...9de35fb1b293a4fd586574b1b4b73ddf7880.patch |  60 ----
 .../patches/fix-pretty-printer-warnings.patch | 125 --------
 srcpkgs/gcc/template                          |   6 +-
 6 files changed, 6 insertions(+), 630 deletions(-)
 delete mode 100644 srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
 delete mode 100644 srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
 delete mode 100644 srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
 delete mode 100644 srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch

diff --git a/common/shlibs b/common/shlibs
index 80eca3e0a08dca..11ef4d2f6da129 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -63,7 +63,7 @@ libcc1plugin.so.0 gcc-6.2.1_1
 libitm.so.1 libitm-4.7.3_1
 liblto_plugin.so.0 gcc-4.7.3_1
 libgcc_s.so.1 libgcc-4.4.0_1
-libgo.so.22 libgo-13.2.0_1
+libgo.so.23 libgo-14.1.0_1
 libgccjit.so.0 libgccjit-10.2.1pre1_1
 libperl.so.5.38 perl-5.38.0_1
 libgmp.so.10 gmp-5.0.1_1
@@ -853,8 +853,8 @@ libgdkmm-2.4.so.1 gtkmm2-2.24.0_1
 libgtkmm-2.4.so.1 gtkmm2-2.24.0_1
 libquadmath.so.0 libquadmath-4.4.0_1
 libgfortran.so.5 libgfortran-8.2.0_1
-libgnarl-13.so libada-13.2.0_1
-libgnat-13.so libada-13.2.0_1
+libgnarl-14.so libada-14.1.0_1
+libgnat-14.so libada-14.1.0_1
 libsharpyuv.so.0 libsharpyuv-1.3.0_1
 libwebp.so.7 libwebp-0.6.0_1
 libwebpmux.so.3 libwebp-0.6.0_1
diff --git a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch b/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
deleted file mode 100644
index d64fabeaad1ec9..00000000000000
--- a/srcpkgs/gcc/patches/15345980633c502f0486a2e40e96224f49134130.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-From 15345980633c502f0486a2e40e96224f49134130 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Tue, 19 Sep 2023 09:26:35 +0200
-Subject: [PATCH] libgomp: Handle NULL environ like pointer to NULL pointer
- [PR111413]
-
-clearenv function just sets environ to NULL (after sometimes freeing it),
-rather than setting it to a pointer to NULL, and our code was assuming
-it is always non-NULL.
-
-Fixed thusly, the change seems to be large but actually is just
-+  if (environ)
-     for (env = environ; *env != 0; env++)
-plus reindentation.  I've also noticed the block after this for loop
-was badly indented (too much) and fixed that too.
-
-No testcase added, as it needs clearenv + dlopen.
-
-2023-09-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR libgomp/111413
-	* env.c (initialize_env): Don't dereference environ if it is NULL.
-	Reindent.
----
- libgomp/env.c | 251 +++++++++++++++++++++++++-------------------------
- 1 file changed, 126 insertions(+), 125 deletions(-)
-
-diff --git a/libgomp/env.c b/libgomp/env.c
-index f24484d7f7074..a21adb3fd4bdb 100644
---- a/libgomp/env.c
-+++ b/libgomp/env.c
-@@ -2224,139 +2224,140 @@ initialize_env (void)
-   none = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_NO_SUFFIX);
-   initialize_icvs (&none->icvs);
- 
--  for (env = environ; *env != 0; env++)
--    {
--      if (!startswith (*env, "OMP_"))
--	continue;
--
--     /* Name of the environment variable without suffix "OMP_".  */
--     char *name = *env + sizeof ("OMP_") - 1;
--     for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
--	{
--	  if (startswith (name, envvars[omp_var].name))
--	    {
--	      pos = envvars[omp_var].name_len;
--	      if (name[pos] == '=')
--		{
--		  pos++;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_ALL=")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
--		{
--		  pos += 5;
--		  flag_var_addr
--		    = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else if (startswith (&name[pos], "_DEV_")
--		       && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
--		{
--		  pos += 5;
--		  if (!get_device_num (*env, &name[pos], &dev_num,
--				       &dev_num_len))
--		    break;
--
--		  pos += dev_num_len + 1;
--		  flag_var_addr
--		    = add_initial_icv_to_list (dev_num,
--					       envvars[omp_var].flag_vars[0],
--					       params);
--		}
--	      else
--		{
--		  gomp_error ("Invalid environment variable in %s", *env);
--		  break;
--		}
--	      env_val = &name[pos];
-+  if (environ)
-+    for (env = environ; *env != 0; env++)
-+      {
-+	if (!startswith (*env, "OMP_"))
-+	  continue;
- 
--	      if (envvars[omp_var].parse_func (*env, env_val, params))
--		{
--		  for (i = 0; i < 3; ++i)
--		    if (envvars[omp_var].flag_vars[i])
--		      gomp_set_icv_flag (flag_var_addr,
--					 envvars[omp_var].flag_vars[i]);
--		    else
-+       /* Name of the environment variable without suffix "OMP_".  */
-+       char *name = *env + sizeof ("OMP_") - 1;
-+       for (omp_var = 0; omp_var < OMP_VAR_CNT; omp_var++)
-+	  {
-+	    if (startswith (name, envvars[omp_var].name))
-+	      {
-+		pos = envvars[omp_var].name_len;
-+		if (name[pos] == '=')
-+		  {
-+		    pos++;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_NO_SUFFIX,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_DEV,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_ALL=")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_ALL)
-+		  {
-+		    pos += 5;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (GOMP_DEVICE_NUM_FOR_ALL,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else if (startswith (&name[pos], "_DEV_")
-+			 && envvars[omp_var].flag & GOMP_ENV_SUFFIX_DEV_X)
-+		  {
-+		    pos += 5;
-+		    if (!get_device_num (*env, &name[pos], &dev_num,
-+					 &dev_num_len))
- 		      break;
--		}
- 
--	      break;
--	    }
--	}
--    }
-+		    pos += dev_num_len + 1;
-+		    flag_var_addr
-+		      = add_initial_icv_to_list (dev_num,
-+						 envvars[omp_var].flag_vars[0],
-+						 params);
-+		  }
-+		else
-+		  {
-+		    gomp_error ("Invalid environment variable in %s", *env);
-+		    break;
-+		  }
-+		env_val = &name[pos];
- 
--    all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
--    for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
--      {
--	if (none != NULL
--	    && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&none->icvs,
--			       host_envvars[omp_var].flag_var, params);
--	else if (all != NULL
--		 && gomp_get_icv_flag (all->flags,
--				       host_envvars[omp_var].flag_var))
--	  get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
--			       params);
--	else
--	  continue;
-+		if (envvars[omp_var].parse_func (*env, env_val, params))
-+		  {
-+		    for (i = 0; i < 3; ++i)
-+		      if (envvars[omp_var].flag_vars[i])
-+			gomp_set_icv_flag (flag_var_addr,
-+					   envvars[omp_var].flag_vars[i]);
-+		      else
-+			break;
-+		  }
- 
--	switch (host_envvars[omp_var].type_code)
--	  {
--	  case PARSE_INT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
--	    break;
--	  case PARSE_BOOL:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
--	    break;
--	  case PARSE_UINT:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned int *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned int *) params[i];
--	    break;
--	  case PARSE_ULONG:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned long *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned long *) params[i];
--	    break;
--	  case PARSE_UCHAR:
--	    for (i = 0; i < 3; ++i)
--	      if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
--		*(unsigned char *) (host_envvars[omp_var].dest[i])
--		  = *(unsigned char *) params[i];
--	    break;
--	  case PARSE_SCHEDULE:
--	    *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
--	      = *(enum gomp_schedule_type *) params[0];
--	    *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
--	    break;
--	  case PARSE_BIND:
--	    *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
--	    *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
--	    *(unsigned long *) (host_envvars[omp_var].dest[2])
--	      = *(unsigned long *) params[2];
--	    break;
-+		break;
-+	      }
- 	  }
-       }
- 
-+  all = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_ALL);
-+  for (omp_var = 0; omp_var < OMP_HOST_VAR_CNT; omp_var++)
-+    {
-+      if (none != NULL
-+	  && gomp_get_icv_flag (none->flags, host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&none->icvs,
-+			     host_envvars[omp_var].flag_var, params);
-+      else if (all != NULL
-+	       && gomp_get_icv_flag (all->flags,
-+				     host_envvars[omp_var].flag_var))
-+	get_icv_member_addr (&all->icvs, host_envvars[omp_var].flag_var,
-+			     params);
-+      else
-+	continue;
-+
-+      switch (host_envvars[omp_var].type_code)
-+	{
-+	case PARSE_INT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(int *) (host_envvars[omp_var].dest[i]) = *(int *) params[i];
-+	  break;
-+	case PARSE_BOOL:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(bool *) (host_envvars[omp_var].dest[i]) = *(bool *) params[i];
-+	  break;
-+	case PARSE_UINT:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned int *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned int *) params[i];
-+	  break;
-+	case PARSE_ULONG:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned long *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned long *) params[i];
-+	  break;
-+	case PARSE_UCHAR:
-+	  for (i = 0; i < 3; ++i)
-+	    if (host_envvars[omp_var].dest[i] != NULL && params[i] != NULL)
-+	      *(unsigned char *) (host_envvars[omp_var].dest[i])
-+		= *(unsigned char *) params[i];
-+	  break;
-+	case PARSE_SCHEDULE:
-+	  *(enum gomp_schedule_type *) (host_envvars[omp_var].dest[0])
-+	    = *(enum gomp_schedule_type *) params[0];
-+	  *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
-+	  break;
-+	case PARSE_BIND:
-+	  *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
-+	  *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
-+	  *(unsigned long *) (host_envvars[omp_var].dest[2])
-+	    = *(unsigned long *) params[2];
-+	  break;
-+	}
-+    }
-+
-   if (((none != NULL && gomp_get_icv_flag (none->flags, GOMP_ICV_BIND))
-        || (all != NULL && gomp_get_icv_flag (all->flags, GOMP_ICV_BIND)))
-       && gomp_global_icv.bind_var == omp_proc_bind_false)
diff --git a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch b/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
deleted file mode 100644
index f9dfee06215537..00000000000000
--- a/srcpkgs/gcc/patches/d7bead833631486e337e541e692d9b4a1ca14edd.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From d7bead833631486e337e541e692d9b4a1ca14edd Mon Sep 17 00:00:00 2001
-From: Fangrui Song <i@maskray.me>
-Date: Fri, 28 Apr 2023 09:59:17 -0700
-Subject: [PATCH] [sanitizer] Remove crypt and crypt_r interceptors
-
-From Florian Weimer's D144073
-
-> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
->
-> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
-
-Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
-newer glibc.
-
-For older glibc, msan will not know that an uninstrumented crypt_r call
-initializes `data`, so there is a risk for false positives. However, with some
-codebase survey, I think crypt_r uses are very few and the call sites typically
-have a `memset(&data, 0, sizeof(data));` anyway.
-
-Fix https://github.com/google/sanitizers/issues/1365
-Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
-
-Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
-
-Differential Revision: https://reviews.llvm.org/D149403
----
- .../sanitizer_common_interceptors.inc         | 37 -------------------
- .../sanitizer_platform_interceptors.h         |  2 -
- .../sanitizer_platform_limits_posix.cpp       |  8 ----
- .../sanitizer_platform_limits_posix.h         |  1 -
- .../TestCases/Linux/crypt_r.cpp               | 36 ------------------
- .../TestCases/Posix/crypt.cpp                 | 32 ----------------
- 6 files changed, 116 deletions(-)
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
-
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
-index b30c91f06cfeb0..490a8b12d8b17d 100644
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-@@ -10086,41 +10086,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
- #define INIT_GETRANDOM
- #endif
- 
--#if SANITIZER_INTERCEPT_CRYPT
--INTERCEPTOR(char *, crypt, char *key, char *salt) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt)(key, salt);
--  if (res != nullptr)
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  return res;
--}
--#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
--#else
--#define INIT_CRYPT
--#endif
--
--#if SANITIZER_INTERCEPT_CRYPT_R
--INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
--  void *ctx;
--  COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
--  COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
--  char *res = REAL(crypt_r)(key, salt, data);
--  if (res != nullptr) {
--    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
--                                   __sanitizer::struct_crypt_data_sz);
--    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
--  }
--  return res;
--}
--#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
--#else
--#define INIT_CRYPT_R
--#endif
--
- #if SANITIZER_INTERCEPT_GETENTROPY
- INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
-   void *ctx;
-@@ -10698,8 +10663,6 @@ static void InitializeCommonInterceptors() {
-   INIT_GETUSERSHELL;
-   INIT_SL_INIT;
-   INIT_GETRANDOM;
--  INIT_CRYPT;
--  INIT_CRYPT_R;
-   INIT_GETENTROPY;
-   INIT_QSORT;
-   INIT_QSORT_R;
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
-index eb39fabfd59839..c82ab5c2105621 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -569,8 +569,6 @@
- #define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
- #define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
- #define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
--#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
--#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
- 
- #define SANITIZER_INTERCEPT_GETRANDOM \
-   ((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index a04eed7aa5a6e3..6d61d276d77e35 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -177,10 +177,6 @@ typedef struct user_fpregs elf_fpregset_t;
- #  include "sanitizer_platform_interceptors.h"
- #  include "sanitizer_platform_limits_posix.h"
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--#include <crypt.h>
--#endif
--
- namespace __sanitizer {
-   unsigned struct_utsname_sz = sizeof(struct utsname);
-   unsigned struct_stat_sz = sizeof(struct stat);
-@@ -300,10 +296,6 @@ namespace __sanitizer {
-   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
- #endif // SANITIZER_GLIBC
- 
--#if SANITIZER_INTERCEPT_CRYPT_R
--  unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
--#endif
--
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   unsigned struct_timex_sz = sizeof(struct timex);
-   unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-index e6f298c26e1fb6..58244c9944a03a 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -309,7 +309,6 @@ extern unsigned struct_msqid_ds_sz;
- extern unsigned struct_mq_attr_sz;
- extern unsigned struct_timex_sz;
- extern unsigned struct_statvfs_sz;
--extern unsigned struct_crypt_data_sz;
- #endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
- 
- struct __sanitizer_iovec {
diff --git a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch b/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
deleted file mode 100644
index 7338b3dd1ede37..00000000000000
--- a/srcpkgs/gcc/patches/f4029de35fb1b293a4fd586574b1b4b73ddf7880.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From f4029de35fb1b293a4fd586574b1b4b73ddf7880 Mon Sep 17 00:00:00 2001
-From: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-Date: Wed, 26 Jul 2023 22:36:26 +0530
-Subject: [PATCH] [aarch64/match.pd] Fix ICE observed in PR110280.
-
-gcc/ChangeLog:
-	PR tree-optimization/110280
-	* match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector
-	using build_vector_from_val with the element of input operand, and
-	mask's type if operand and mask's types don't match.
-
-gcc/testsuite/ChangeLog:
-	PR tree-optimization/110280
-	* gcc.target/aarch64/sve/pr110280.c: New test.
-
-(cherry picked from commit 85d8e0d8d5342ec8b4e6a54e22741c30b33c6f04)
----
- gcc/match.pd                                    |  9 ++++++++-
- gcc/testsuite/gcc.target/aarch64/sve/pr110280.c | 12 ++++++++++++
- 2 files changed, 20 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-
-diff --git a/gcc/match.pd b/gcc/match.pd
-index 9118244825054..c3bb4fbc0a7a2 100644
---- a/gcc/match.pd
-+++ b/gcc/match.pd
-@@ -8292,7 +8292,14 @@ and,
- 
- (simplify
-  (vec_perm vec_same_elem_p@0 @0 @1)
-- @0)
-+ (if (types_match (type, TREE_TYPE (@0)))
-+  @0
-+  (with
-+   {
-+     tree elem = uniform_vector_p (@0);
-+   }
-+   (if (elem)
-+    { build_vector_from_val (type, elem); }))))
- 
- /* Push VEC_PERM earlier if that may help FMA perception (PR101895).  */
- (simplify
-diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-new file mode 100644
-index 0000000000000..d3279f383629f
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
-@@ -0,0 +1,12 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O3 -fdump-tree-optimized" } */
-+
-+#include "arm_sve.h"
-+
-+svuint32_t l()
-+{
-+  _Alignas(16) const unsigned int lanes[4] = {0, 0, 0, 0};
-+  return svld1rq_u32(svptrue_b8(), lanes);
-+}
-+
-+/* { dg-final { scan-tree-dump-not "VEC_PERM_EXPR" "optimized" } } */
diff --git a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch b/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
deleted file mode 100644
index 4eeb69b69b1bbd..00000000000000
--- a/srcpkgs/gcc/patches/fix-pretty-printer-warnings.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- a/libstdc++-v3/python/libstdcxx/v6/printers.py
-+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
-@@ -1198,7 +1198,7 @@
- 
-     def __init__ (self, typename, val):
-         self.typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-+        self.typename = re.sub(r'^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
-         self.val = val
-         self.contained_type = None
-         contained_value = None
-@@ -1299,7 +1299,7 @@
-                 mgrtypes = []
-                 for s in strings:
-                     try:
--                        x = re.sub("std::string(?!\w)", s, m.group(1))
-+                        x = re.sub(r"std::string(?!\w)", s, m.group(1))
-                         # The following lookup might raise gdb.error if the
-                         # manager function was never instantiated for 's' in the
-                         # program, because there will be no such type.
-@@ -1246,7 +1246,7 @@
-     def __init__ (self, typename, val):
-         valtype = self._recognize (val.type.template_argument(0))
-         typename = strip_versioned_namespace(typename)
--        self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-+        self.typename = re.sub(r'^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
-         payload = val['_M_payload']
-         if self.typename.startswith('std::experimental'):
-             engaged = val['_M_engaged']
-diff '--color=auto' -Naur a/libstdc++-v3/python/libstdcxx/v6/xmethods.py b/libstdc++-v3/python/libstdcxx/v6/xmethods.py
---- a/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2022-08-19 08:09:55.524700157 +0000
-+++ b/libstdc++-v3/python/libstdcxx/v6/xmethods.py	2023-12-09 21:06:42.544909771 +0000
-@@ -148,7 +148,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?array<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?array<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -265,7 +265,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?deque<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?deque<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -309,7 +309,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?forward_list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -390,7 +390,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?(__cxx11::)?list<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -505,7 +505,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?vector<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?vector<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -554,7 +554,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?%s<.*>$' % self._name, class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -587,9 +587,9 @@
-     def __call__(self, obj):
-         impl_type = obj.dereference().type.fields()[0].type.tag
-         # Check for new implementations first:
--        if re.match('^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-+        if re.match(r'^std::(__\d+::)?__uniq_ptr_(data|impl)<.*>$', impl_type):
-             tuple_member = obj['_M_t']['_M_t']
--        elif re.match('^std::(__\d+::)?tuple<.*>$', impl_type):
-+        elif re.match(r'^std::(__\d+::)?tuple<.*>$', impl_type):
-             tuple_member = obj['_M_t']
-         else:
-             return None
-@@ -651,7 +651,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?unique_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
-@@ -720,7 +720,7 @@
- 
-     def __call__(self, obj, index):
-         # Check bounds if _elem_type is an array of known bound
--        m = re.match('.*\[(\d+)]$', str(self._elem_type))
-+        m = re.match(r'.*\[(\d+)]$', str(self._elem_type))
-         if m and index >= int(m.group(1)):
-             raise IndexError('shared_ptr<%s> index "%d" should not be >= %d.' %
-                              (self._elem_type, int(index), int(m.group(1))))
-@@ -769,7 +769,7 @@
-         self.methods = [self._method_dict[m] for m in self._method_dict]
- 
-     def match(self, class_type, method_name):
--        if not re.match('^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-+        if not re.match(r'^std::(__\d+::)?shared_ptr<.*>$', class_type.tag):
-             return None
-         method = self._method_dict.get(method_name)
-         if method is None or not method.enabled:
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 0792954c232887..cf8edb36c3b30f 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -3,8 +3,8 @@
 # which use the version number.
 
 pkgname=gcc
-version=13.2.0
-revision=2
+version=14.1.0
+revision=1
 _minorver="${version%.*}"
 _majorver="${_minorver%.*}"
 _gmp_version=6.3.0
@@ -23,7 +23,7 @@ distfiles="
  ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
  ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
  ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
-checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
  277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
  ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8

From 4fa4b17595cb4a4ed182935c61f73ecfcb0ce7c3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:49:02 -0700
Subject: [PATCH 03/33] libtool: rebuild for gcc14

---
 srcpkgs/libtool/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libtool/template b/srcpkgs/libtool/template
index ff545abd3f0da5..76b263cff53293 100644
--- a/srcpkgs/libtool/template
+++ b/srcpkgs/libtool/template
@@ -1,7 +1,7 @@
 # Template file for 'libtool'
 pkgname=libtool
 version=2.4.7
-revision=6
+revision=7
 build_style=gnu-configure
 hostmakedepends="texinfo perl automake help2man xz gnulib tar"
 depends="tar"

From 3505017195bc3f7bf3f4269471ad7ca499cc9f67 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:49:18 -0700
Subject: [PATCH 04/33] mk-configure: rebuild for gcc14

---
 srcpkgs/mk-configure/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mk-configure/template b/srcpkgs/mk-configure/template
index b8320aa5129f98..1a46e170042d85 100644
--- a/srcpkgs/mk-configure/template
+++ b/srcpkgs/mk-configure/template
@@ -1,7 +1,7 @@
 # Template file for 'mk-configure'
 pkgname=mk-configure
 version=0.39.3
-revision=1
+revision=2
 build_style=gnu-makefile
 make_cmd=bmake
 make_install_args="MANDIR=/usr/share/man"

From d1dcad9fbdd734707056914fe2a5ee97118dc43c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:37:33 -0700
Subject: [PATCH 05/33] gcc-multilib: update to 14.1.0.

---
 srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch | 2 +-
 srcpkgs/gcc-multilib/template                        | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
index f43dd62f15d8d3..ad7173e5caaad9 100644
--- a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
+++ b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
@@ -8,5 +8,5 @@
 -               $(HDEFINES) @ac_libiberty_warn_cflags@ -D_GNU_SOURCE \
 +COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -fPIC -I. -I$(INCDIR) \
 +               $(HDEFINES) @ac_libiberty_warn_cflags@ -D_DEFAULT_SOURCE \
-                @CET_HOST_FLAGS@
+                @CET_HOST_FLAGS@ @HWCAP_CFLAGS@
  
diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template
index 6af5541e1db5cd..b05b1c3c2d643b 100644
--- a/srcpkgs/gcc-multilib/template
+++ b/srcpkgs/gcc-multilib/template
@@ -3,7 +3,7 @@ archs="x86_64"
 _triplet="x86_64-unknown-linux-gnu"
 
 pkgname=gcc-multilib
-version=13.2.0
+version=14.1.0
 revision=1
 _majorver="${version%.*}"
 short_desc="GNU Compiler Collection (multilib files)"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 homepage="http://gcc.gnu.org"
 license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz"
-checksum=e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum=e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
 
 hostmakedepends="perl flex tar zip unzip"
 makedepends="zlib-devel libmpc-devel isl-devel libfl-devel
@@ -69,6 +69,7 @@ do_configure() {
 do_build() {
 	make ${makejobs}
 }
+
 do_install() {
 	local _pc_triplet=x86_64-pc-linux-gnu
 	# Install to a tempdir and then only copy relevant files.

From 0cc1ee08cd641da8c13953023432300259fadcae Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:42:23 -0700
Subject: [PATCH 06/33] libgccjit: update to 14.1.0.

---
 srcpkgs/libgccjit/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/libgccjit/template b/srcpkgs/libgccjit/template
index e130b534614960..4ec631f4e5e1ad 100644
--- a/srcpkgs/libgccjit/template
+++ b/srcpkgs/libgccjit/template
@@ -3,12 +3,12 @@
 # which use the version number.
 
 pkgname=libgccjit
-version=13.2.0
+version=14.1.0
 revision=1
 _gmp_version=6.3.0
-_mpfr_version=4.2.0
+_mpfr_version=4.2.1
 _mpc_version=1.3.1
-_isl_version=0.24
+_isl_version=0.26
 create_wrksrc=yes
 short_desc="Just-In-Time Compilation library for GCC"
 maintainer="Lane Biocini <lane@mailbox.org>"
@@ -21,11 +21,11 @@ distfiles="
  ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
  ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
  ${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
-checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+checksum="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
- 06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993
+ 277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
  ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8
- fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0"
+ 5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436"
 nopie=yes
 lib32disabled=yes
 makedepends="zlib-devel"

From 8117bd7ae29854812c70e717e542df72d6f3213e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 14:09:29 -0700
Subject: [PATCH 07/33] cross-vpkg-dummy: update to 0.41.

---
 srcpkgs/cross-vpkg-dummy/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index de06aaa3502a8f..85a4a915c3b184 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -1,6 +1,6 @@
 # Template file for 'cross-vpkg-dummy'
 pkgname=cross-vpkg-dummy
-version=0.40
+version=0.41
 revision=1
 build_style=meta
 depends="base-files>=0.126"
@@ -65,8 +65,8 @@ conflicts="
 shlib_provides="
 	libatomic.so.1
 	libgcc_s.so.1
-	libgnat-13.so
-	libgnarl-13.so
+	libgnat-14.so
+	libgnarl-14.so
 	libstdc++.so.6
 	libgfortran.so.5
 	libquadmath.so.0"

From e5da9f16da0ca112f8f9f731eb119517d88ec88f Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 08/33] cross-aarch64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-aarch64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template
index 73adbee7e8533b..9aa60f0ec3305e 100644
--- a/srcpkgs/cross-aarch64-linux-gnu/template
+++ b/srcpkgs/cross-aarch64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-aarch64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-aarch64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -21,7 +21,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 07329e10bf2418bca6e710609e51b84114b42d62 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 09/33] cross-aarch64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-aarch64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 074001d0288098..c61157a89e2694 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-aarch64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-aarch64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -24,7 +24,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From c459b73b7b35e33ffc00d6145daba07005c9874f Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 10/33] cross-arm-linux-gnueabi: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-gnueabi/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index e3cc4a28a3dc5e..f204e1a4a68355 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-arm-linux-gnueabi'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-arm-linux-gnueabi
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft
  --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From f9cc956b862f1affd37c1360ea1feef7a3e4cb71 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:43 -0700
Subject: [PATCH 11/33] cross-arm-linux-gnueabihf: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-gnueabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 09de642208a2c8..96f89eafd0e02b 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-arm-linux-gnueabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-arm-linux-gnueabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
  --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From d49cea7691ee3c759f898b9f4d43be08c464ffcb Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 12/33] cross-arm-linux-musleabi: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-musleabi/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 79801b4d7b0255..3de330c05af1f4 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-arm-linux-musleabi'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-arm-linux-musleabi
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft
  --enable-autolink-libatomic"
@@ -25,7 +25,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 41efae64b8c4704b893271232cf59f8776b2b763 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 13/33] cross-arm-linux-musleabihf: update to gcc 14.1.0

---
 srcpkgs/cross-arm-linux-musleabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 87629a415a1352..56473a79e70a3f 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-arm-linux-musleabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-arm-linux-musleabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard
  --enable-autolink-libatomic"
@@ -25,7 +25,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From ae48f7cc963da6a5c3caecd322633c1d24a82787 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 14/33] cross-armv7l-linux-gnueabihf: update to gcc 14.1.0

---
 srcpkgs/cross-armv7l-linux-gnueabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/template b/srcpkgs/cross-armv7l-linux-gnueabihf/template
index ceae6971ee484c..d2c128bef96f14 100644
--- a/srcpkgs/cross-armv7l-linux-gnueabihf/template
+++ b/srcpkgs/cross-armv7l-linux-gnueabihf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-armv7l-linux-gnueabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-armv7l-linux-gnueabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -21,7 +21,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 740237c23fdfa67d5a398c9d0ce1e70bcb78a277 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 15/33] cross-armv7l-linux-musleabihf: update to gcc 14.1.0

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index b08278c7207386..67ff5b1343ddd6 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-armv7l-linux-musleabihf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-armv7l-linux-musleabihf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -24,7 +24,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 609f20b231673e4dc1a397cbae6115ee542fc31e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 16/33] cross-i686-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-i686-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index d37bb61b0e5a08..35cc91db60f367 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-i686-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-i686-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -23,7 +23,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From c6516781336a010afe7388f5ca0f84ab845c9b96 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 17/33] cross-i686-pc-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-i686-pc-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-i686-pc-linux-gnu/template b/srcpkgs/cross-i686-pc-linux-gnu/template
index 30321dad671f0f..a37677f5ac87cc 100644
--- a/srcpkgs/cross-i686-pc-linux-gnu/template
+++ b/srcpkgs/cross-i686-pc-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-i686-pc-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-i686-pc-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -20,7 +20,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 12be54e3489c6620447677e7ffeded0ab221517b Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 18/33] cross-mips-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-mips-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index bfb9d16a1be021..94c2ede4f46711 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mips-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mips-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From f40b7471a450f77015729817b73598c8ac48dc19 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 19/33] cross-mips-linux-muslhf: update to gcc 14.1.0

---
 srcpkgs/cross-mips-linux-muslhf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 6ca7fc6274d4db..94422d3fa09291 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mips-linux-muslhf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mips-linux-muslhf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 2219bc6d0a6cd89cfc77d27eae0c2b1661259380 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 20/33] cross-mipsel-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-mipsel-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 1ed2f94ad10d43..046f36c0753c7e 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mipsel-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mipsel-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 34648bd2967f7ccf1236c05e15345d3797f4d0f3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 21/33] cross-mipsel-linux-muslhf: update to gcc 14.1.0

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index fc8f1294f6a017..380bdf58c2f9bf 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-mipsel-linux-muslhf'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-mipsel-linux-muslhf
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 62cd8f632c5f8091045ea761001dea4795564f19 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 22/33] cross-powerpc-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template
index ec1753414cd5ad..03eab919c3ac87 100644
--- a/srcpkgs/cross-powerpc-linux-gnu/template
+++ b/srcpkgs/cross-powerpc-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpc-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 729e1dbf70f8d3915996fb99b7c9713b7f22d9b7 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:44 -0700
Subject: [PATCH 23/33] cross-powerpc-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 52844bf5512cca..05a04696fda062 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-powerpc-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 377f3ad5fa2e4916d35766dbcaef8249c6797add Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 24/33] cross-powerpc64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template
index 5ab4acec45fdb6..159f2d18262b96 100644
--- a/srcpkgs/cross-powerpc64-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpc64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
  --enable-targets=powerpc-linux --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From bf2f066a0d07ef3136e81f219af200b9231b5d60 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 25/33] cross-powerpc64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 02fe3f55f82c65..4c8cec0c297b20 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-powerpc64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-powerpc64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux
@@ -26,7 +26,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 54f2353ecb5fb9d2156e2fc6bc958310d5adadfe Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 26/33] cross-powerpc64le-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64le-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template
index 1fe9ebf6d47fb6..176eb64178cca1 100644
--- a/srcpkgs/cross-powerpc64le-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64le-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpc64le-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpc64le-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
  --enable-targets=powerpcle-linux --enable-autolink-libatomic"
@@ -22,7 +22,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From b848aa03fd744ad0469e8b41e799e84bb54a537f Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 27/33] cross-powerpc64le-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 9cc49d05a23398..ebe1b15e119cb7 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-powerpc64le-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-powerpc64le-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux
@@ -26,7 +26,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 7500cd7142e13c6d6090a11e81ff020e9b623b7d Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 28/33] cross-powerpcle-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-powerpcle-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template
index 3a0cd0d6bb4b4d..1f006a9d7ba431 100644
--- a/srcpkgs/cross-powerpcle-linux-gnu/template
+++ b/srcpkgs/cross-powerpcle-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpcle-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-powerpcle-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From e9a4c938f8d73f3ac5d535182fe8cad06dbf86f2 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 29/33] cross-powerpcle-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-powerpcle-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 15615e6d7f98d7..f647419ddaa4c5 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-powerpcle-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 pkgname=cross-powerpcle-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --enable-autolink-libatomic"
@@ -23,7 +23,7 @@ distfiles="
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From b48e69a6ce1c3d2563e71737ff8be437fb7d3552 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 30/33] cross-riscv64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-riscv64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-riscv64-linux-gnu/template b/srcpkgs/cross-riscv64-linux-gnu/template
index 5d56ce853d9606..1b650fc76e457b 100644
--- a/srcpkgs/cross-riscv64-linux-gnu/template
+++ b/srcpkgs/cross-riscv64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-riscv64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-riscv64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -21,7 +21,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 12429fef1168b74a3013d938d750fbdb7cea5d6d Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 31/33] cross-riscv64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-riscv64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-riscv64-linux-musl/template b/srcpkgs/cross-riscv64-linux-musl/template
index c3ade518330dcb..3ca3b7dc27ec5f 100644
--- a/srcpkgs/cross-riscv64-linux-musl/template
+++ b/srcpkgs/cross-riscv64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-riscv64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-riscv64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 configure_args="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic --disable-multilib"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
@@ -24,7 +24,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

From 23e9dc1d6e33c065f2ec478aba1f8c44461c22ba Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 32/33] cross-x86_64-linux-gnu: update to gcc 14.1.0

---
 srcpkgs/cross-x86_64-linux-gnu/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-x86_64-linux-gnu/template b/srcpkgs/cross-x86_64-linux-gnu/template
index 8cca832896c4d4..fc815acb0ff028 100644
--- a/srcpkgs/cross-x86_64-linux-gnu/template
+++ b/srcpkgs/cross-x86_64-linux-gnu/template
@@ -1,11 +1,11 @@
 # Template file for 'cross-x86_64-linux-gnu'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _glibc_version=2.39
 _linux_version=6.1
 pkgname=cross-x86_64-linux-gnu
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -20,7 +20,7 @@ distfiles+=" ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz"
 distfiles+=" ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz"
 distfiles+=" ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb"
 nocross=yes

From 3044ae9d810e73bf588e8719d493a38cc6a82e8c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 14 Jun 2024 13:59:45 -0700
Subject: [PATCH 33/33] cross-x86_64-linux-musl: update to gcc 14.1.0

---
 srcpkgs/cross-x86_64-linux-musl/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 0ba8decce2aeb1..38f2ae80a2035e 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -1,12 +1,12 @@
 # Template file for 'cross-x86_64-linux-musl'
 _binutils_version=2.41
-_gcc_version=13.2.0
+_gcc_version=14.1.0
 _musl_version=1.1.24
 _linux_version=6.1
 _libucontext_version=1.2
 pkgname=cross-x86_64-linux-musl
-version=0.36
-revision=2
+version=0.37
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3 pkg-config"
 makedepends="isl-devel libmpc-devel gmp-devel mpfr-devel
@@ -23,7 +23,7 @@ distfiles="
  ${KERNEL_SITE}/kernel/v${_linux_version%%.*}.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
 checksum="ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
- e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+ e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
  937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
                   ` (2 preceding siblings ...)
  2024-06-14 21:09 ` oreo639
@ 2024-07-09  1:06 ` Calandracas606
  2024-07-09  6:40 ` oreo639
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Calandracas606 @ 2024-07-09  1:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 332 bytes --]

New comment by Calandracas606 on void-packages repository

https://github.com/void-linux/void-packages/pull/50825#issuecomment-2215934287

Comment:
gcc is working for me

i've added `--enable-host-pie`, and `--enable-host-bind-now` to my build, and removed `nopie`. maybe void should consider adding those configure args too.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
                   ` (3 preceding siblings ...)
  2024-07-09  1:06 ` Calandracas606
@ 2024-07-09  6:40 ` oreo639
  2024-07-09  7:08 ` oreo639
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-07-09  6:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1026 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/50825#issuecomment-2216705467

Comment:
> i've added `--enable-host-pie`, and `--enable-host-bind-now` to my build, and removed `nopie`. maybe void should consider adding those configure args too.

Thanks for pointing those out.

Keep in mind those flags only apply to the host executables (e.g. `/usr/bin/gcc`, `cc1`, `cc1plus`, etc. as opposed to the libraries or the default flags when compiling).
Those flags are relatively new, and looking upstream there is a patch for a runtime issue caused by `--enable-host-pie` on PPC https://github.com/gcc-mirror/gcc/commit/4cf2de9b5268224816a3d53fdd2c3d799ebfd9c8 so it might make sense to give more time for those regressions to get found and ironed out before enabling.

The only distro that enables them by default atm, afaict, is RHEL (whereas it is disabled when building gcc for Fedora).
That is just my 2 cents, feel free to let me know if I am missing something.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
                   ` (4 preceding siblings ...)
  2024-07-09  6:40 ` oreo639
@ 2024-07-09  7:08 ` oreo639
  2024-07-09  7:08 ` oreo639
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-07-09  7:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 988 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/50825#issuecomment-2216705467

Comment:
> i've added `--enable-host-pie`, and `--enable-host-bind-now` to my build, and removed `nopie`. maybe void should consider adding those configure args too.

Thanks for pointing those out.

Keep in mind those flags only apply to the host executables (e.g. `/usr/bin/gcc`, `cc1`, `cc1plus`, etc. as opposed to the libraries or the default flags when compiling).
Those flags are relatively new, and looking upstream there is a patch for a runtime issue caused by `--enable-host-pie` on PPC https://github.com/gcc-mirror/gcc/commit/4cf2de9b5268224816a3d53fdd2c3d799ebfd9c8 so it might make sense to give more time for those regressions to get found and ironed out before enabling.

The only distro that enables them by default atm, afaict, is RHEL (whereas it is disabled when building gcc for Fedora).
Let me know if I am missing something.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
                   ` (5 preceding siblings ...)
  2024-07-09  7:08 ` oreo639
@ 2024-07-09  7:08 ` oreo639
  2024-07-09 11:39 ` Calandracas606
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-07-09  7:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/50825#issuecomment-2216705467

Comment:
> i've added `--enable-host-pie`, and `--enable-host-bind-now` to my build, and removed `nopie`. maybe void should consider adding those configure args too.

Thanks for pointing those out.

Keep in mind those flags only apply to the host executables (e.g. `/usr/bin/gcc`, `cc1`, `cc1plus`, etc. as opposed to the libraries or the default flags when compiling).
Those flags are relatively new, and looking upstream there is a patch for a runtime issue caused by `--enable-host-pie` on PPC https://github.com/gcc-mirror/gcc/commit/4cf2de9b5268224816a3d53fdd2c3d799ebfd9c8 so it might make sense to give more time for those regressions to get found and ironed out before enabling.

The only distro that enables them by default atm, afaict, is RHEL (whereas it is disabled when building gcc for Fedora).
Feel free to let me know if I am missing something.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
                   ` (6 preceding siblings ...)
  2024-07-09  7:08 ` oreo639
@ 2024-07-09 11:39 ` Calandracas606
  2024-07-09 22:06 ` oreo639
  2024-07-09 22:08 ` oreo639
  9 siblings, 0 replies; 11+ messages in thread
From: Calandracas606 @ 2024-07-09 11:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 373 bytes --]

New comment by Calandracas606 on void-packages repository

https://github.com/void-linux/void-packages/pull/50825#issuecomment-2217421667

Comment:
> The only distro that enables them by default atm, afaict, is RHEL (whereas it is disabled when building gcc for Fedora). 

out of curiosity, where can one find RedHat RMP specs? I've had trouble locating them in the past

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
                   ` (7 preceding siblings ...)
  2024-07-09 11:39 ` Calandracas606
@ 2024-07-09 22:06 ` oreo639
  2024-07-09 22:08 ` oreo639
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-07-09 22:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 326 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/50825#issuecomment-2218811098

Comment:
> out of curiosity, where can one find RedHat RMP specs? I've had trouble locating them in the past

https://src.fedoraproject.org/rpms/gcc/c/20746dd85fbe810c19ef7e6dea76d3a110bb4a4d

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gcc: update to 14.1.0.
  2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
                   ` (8 preceding siblings ...)
  2024-07-09 22:06 ` oreo639
@ 2024-07-09 22:08 ` oreo639
  9 siblings, 0 replies; 11+ messages in thread
From: oreo639 @ 2024-07-09 22:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 359 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/50825#issuecomment-2218811098

Comment:
> out of curiosity, where can one find RedHat RMP specs? I've had trouble locating them in the past

This is what I was referring to: https://src.fedoraproject.org/rpms/gcc/c/20746dd85fbe810c19ef7e6dea76d3a110bb4a4d

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-07-09 22:08 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-14  6:45 [PR PATCH] [WIP] gcc: update to 14.1.0 oreo639
2024-06-14 20:52 ` [PR PATCH] [Updated] " oreo639
2024-06-14 20:59 ` oreo639
2024-06-14 21:09 ` oreo639
2024-07-09  1:06 ` Calandracas606
2024-07-09  6:40 ` oreo639
2024-07-09  7:08 ` oreo639
2024-07-09  7:08 ` oreo639
2024-07-09 11:39 ` Calandracas606
2024-07-09 22:06 ` oreo639
2024-07-09 22:08 ` oreo639

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).