Github messages for voidlinux
 help / color / mirror / Atom feed
From: oreo639 <oreo639@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] gcc: update to 12.2.0.
Date: Sat, 03 Sep 2022 06:18:30 +0200	[thread overview]
Message-ID: <20220903041830.IW6FDswdqstqIOvSqiUeLFSz_8NLLJd3qb4PmPcXGO8@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-34902@inbox.vuxu.org>

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

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

https://github.com/oreo639/void-packages gcc11
https://github.com/void-linux/void-packages/pull/34902

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

Edit: this PR had been updated for gcc 12.2.0

This PR depends on: https://github.com/void-linux/void-packages/pull/32330

I tested this PR with glibc and after updating glibc, it seems to work fine.
I also tested this PR with x86_64-musl, and it appears to run fine in a musl chroot, and recompiling and installing musl with gcc 12 doesn't appear to result in any issues. (more testing is needed)

Please let me know if there are any issues.

I compiled base-system and base-chroot on x86_64-glibc and x86_64-musl to ensure that compiles and it appears to work fine.

I tested some of the cross compilers and after some debugging with the help of CameronNemo, we figured out the issue.
The cross compilers are built with `nopie=yes` (specified in environment/build-style), which causes issues with glibc 2.35+ which uses PIE by default.
gcc always builds itself as nopie.
I added a workaround to common/build-style/void-cross but if you have any other recommendations on how to handle it, feel free to let me know.

Also, keep in mind that the libgo musl patch here will need to be updated once musl is updated:
https://github.com/void-linux/void-packages/pull/34902/files#diff-1f42a95b93c9550178ff1fbccbef2f47a72711df15c24c9472e2550076978129R163-R176

This is the updated patch for reference:
https://github.com/alpinelinux/aports/blob/8acb21b8ee881e7ab1c812d9a66a17d2501b8730/main/gcc/0049-libgo-adjust-name-of-union-in-sigevent-struct.patch

This PR also updates glibc to 2.36:
https://sourceware.org/glibc/wiki/Release/2.36

Necessary to fix previously existing build failures (unrelated to this PR):
- [ ] firefox-esr https://github.com/void-linux/void-packages/pull/38817
- [x] gupnp https://github.com/void-linux/void-packages/pull/38844

Known packages that need to be fixed/updated for glibc 2.36:
- [x] samba https://github.com/void-linux/void-packages/pull/38700
- [x] qemu https://github.com/void-linux/void-packages/pull/38769
- [ ] llvm https://github.com/void-linux/void-packages/pull/38694
- [ ] m4 https://github.com/void-linux/void-packages/pull/33730
- [ ] btrfs-progs https://github.com/void-linux/void-packages/pull/38778
- [x] ntp https://github.com/void-linux/void-packages/pull/38772
- [x] libarchive https://github.com/void-linux/void-packages/pull/38773
- [x] boost https://github.com/void-linux/void-packages/pull/38784
- [x] chroot-grep https://github.com/void-linux/void-packages/pull/38785
- [x] plymouth https://github.com/void-linux/void-packages/pull/38821
- [x] fuse https://github.com/void-linux/void-packages/pull/38827
- [x] libostree https://github.com/void-linux/void-packages/pull/38828
- [ ] libvirt https://github.com/void-linux/void-packages/pull/38842
- [ ] syslinux https://github.com/void-linux/void-packages/pull/38876
- [ ] efivar https://github.com/void-linux/void-packages/pull/38874

Known packages that needed to be fixed/updated for gcc12:
- [ ] linux5.18 (in this PR)
- [ ] openssh https://github.com/void-linux/void-packages/pull/38849
- [ ] xf86-video-vmware https://github.com/void-linux/void-packages/pull/38847
- [ ] doxygen https://github.com/void-linux/void-packages/pull/38846
- [ ] firefox-esr https://github.com/void-linux/void-packages/pull/38817
- [x] libproxy https://github.com/void-linux/void-packages/pull/38818
- [x] exempi https://github.com/void-linux/void-packages/pull/38820
- [ ] openjdk7-bootstrap https://github.com/void-linux/void-packages/pull/38822
- [ ] gpgme https://github.com/void-linux/void-packages/pull/38825
- [x] libunique1 https://github.com/void-linux/void-packages/pull/38848 or https://github.com/void-linux/void-packages/pull/38873
- [ ] libwpd https://github.com/void-linux/void-packages/pull/38878

Needs to be fixed/updated for binutils:
- [ ] grub https://github.com/void-linux/void-packages/pull/38875
- [ ] linux-tools https://github.com/void-linux/void-packages/pull/38877

[ISO packages](https://github.com/void-linux/void-mklive/blob/ee69596c585bee310267a437c3ce0fc3efbcaf72/build-x86-images.sh.in#L36-L66) verified:
- [x] base system
- [x] base chroot
- [x] gnome
- [x] xfce
- [x] mate
- [x] cinnamon
- [x] enlightenment
- [x] kde
- [x] lxde
- [x] lxqt

You can test the ISOs here:
https://drive.google.com/drive/folders/1ix92CYSLUP-KWjLxltdgG4e8Nu2JCY5n?usp=sharing

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

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

<!-- Note: If the build is likely to take more than 2 hours, please [skip CI](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, (x86_64-glibc)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - x86_64-musl

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

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

From 3fae3e4707de003ef225593461865e7239b084fe Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 12 Aug 2022 01:14:21 -0700
Subject: [PATCH 01/48] binutils: update to 2.39.

---
 ...e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch | 60 -----------------
 .../fix-libcollector-without-java.patch       | 53 +++++++++++++++
 .../patches/ppc64-revert-gnu-attributes.patch | 66 +++++--------------
 srcpkgs/binutils/template                     | 15 +++--
 4 files changed, 81 insertions(+), 113 deletions(-)
 delete mode 100644 srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch
 create mode 100644 srcpkgs/binutils/patches/fix-libcollector-without-java.patch

diff --git a/srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch b/srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch
deleted file mode 100644
index a55432d83cff..000000000000
--- a/srcpkgs/binutils/patches/1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 1767e3f3bd6d460491f8c8d032a7fea88d5ec8ff Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Mon, 16 Nov 2020 06:37:53 -0800
-Subject: [PATCH] elf: Set rel_from_abs to 1 for __ehdr_start
-
-bfdlink.h has
-
-  /* Symbol will be converted from absolute to section-relative.  Set for
-     symbols defined by a script from "dot" (also SEGMENT_START or ORIGIN)
-     outside of an output section statement.  */
-  unsigned int rel_from_abs : 1;
-
-linker.c has
-
-.{* Return TRUE if the symbol described by a linker hash entry H
-.   is going to be absolute.  Linker-script defined symbols can be
-.   converted from absolute to section-relative ones late in the
-.   link.  Use this macro to correctly determine whether the symbol
-.   will actually end up absolute in output.  *}
-.#define bfd_is_abs_symbol(H) \
-.  (((H)->type == bfd_link_hash_defined \
-.    || (H)->type == bfd_link_hash_defweak) \
-.   && bfd_is_abs_section ((H)->u.def.section) \
-.   && !(H)->rel_from_abs)
-.
-
-Set rel_from_abs to 1 for __ehdr_start which will be converted from
-absolute to section-relative in assign_file_positions_for_load_sections.
-
-	PR ld/26869
-	* ldelf.c (ldelf_before_allocation): Set rel_from_abs to 1 for
-	__ehdr_start.
-	* testsuite/ld-i386/i386.exp: Run pr26869.
-	* testsuite/ld-i386/pr26869.d: New file.
-	* testsuite/ld-i386/pr26869.s: Likewise.
-
-(cherry picked from commit cbd5b99cce073273f668b154d4514e8e7e7ccc51)
----
- ld/ChangeLog                   |  9 +++++++++
- ld/ldelf.c                     |  2 ++
- ld/testsuite/ld-i386/i386.exp  |  1 +
- ld/testsuite/ld-i386/pr26869.d | 14 ++++++++++++++
- ld/testsuite/ld-i386/pr26869.s |  3 +++
- 5 files changed, 29 insertions(+)
- create mode 100644 ld/testsuite/ld-i386/pr26869.d
- create mode 100644 ld/testsuite/ld-i386/pr26869.s
-
-diff --git a/ld/ldelf.c b/ld/ldelf.c
-index bada3ade2d7..831d032fe56 100644
---- a/ld/ldelf.c
-+++ b/ld/ldelf.c
-@@ -1589,6 +1589,8 @@ ldelf_before_allocation (char *audit, char *depaudit,
- 		      (char *) &ehdr_start->u + sizeof ehdr_start->u.def.next,
- 		      sizeof ehdr_start_save_u);
- 	      ehdr_start->type = bfd_link_hash_defined;
-+	      /* It will be converted to section-relative later.  */
-+	      ehdr_start->rel_from_abs = 1;
- 	      ehdr_start->u.def.section = bfd_abs_section_ptr;
- 	      ehdr_start->u.def.value = 0;
- 	    }
diff --git a/srcpkgs/binutils/patches/fix-libcollector-without-java.patch b/srcpkgs/binutils/patches/fix-libcollector-without-java.patch
new file mode 100644
index 000000000000..54384875f358
--- /dev/null
+++ b/srcpkgs/binutils/patches/fix-libcollector-without-java.patch
@@ -0,0 +1,53 @@
+From 49ddd814ac1071af7c4f45d5f8398b91862f2c7f Mon Sep 17 00:00:00 2001
+From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
+Date: Wed, 17 Aug 2022 19:55:23 -0700
+Subject: [PATCH] gprofng: fix bug 29479 Collection fails when built without
+ java support
+
+gprofng/ChangeLog
+2022-08-17  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+	PR gprofng/29479
+	* libcollector/collector.c: Add #if defined(GPROFNG_JAVA_PROFILING) for
+	java specific code.
+	* libcollector/unwind.c: Likewise.
+---
+ gprofng/libcollector/collector.c | 2 ++
+ gprofng/libcollector/unwind.c    | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c
+index 93c9d3330de5..ceff2c1caccb 100644
+--- a/gprofng/libcollector/collector.c
++++ b/gprofng/libcollector/collector.c
+@@ -913,8 +913,10 @@ __collector_open_experiment (const char *exp, const char *params, sp_origin_t or
+   __collector_ext_unwind_key_init (1, NULL);
+ 
+   /* start java attach if suitable */
++#if defined(GPROFNG_JAVA_PROFILING)
+   if (exp_origin == SP_ORIGIN_DBX_ATTACH)
+     __collector_jprofile_start_attach ();
++#endif
+   start_sec_time = CALL_UTIL (time)(NULL);
+   __collector_start_time = collector_interface.getHiResTime ();
+   TprintfT (DBG_LT0, "\t__collector_open_experiment; resetting start_time\n");
+diff --git a/gprofng/libcollector/unwind.c b/gprofng/libcollector/unwind.c
+index 119243788020..f8e11823c81e 100644
+--- a/gprofng/libcollector/unwind.c
++++ b/gprofng/libcollector/unwind.c
+@@ -557,6 +557,7 @@ __collector_get_frame_info (hrtime_t ts, int mode, void *arg)
+   int size = max_frame_size;
+ 
+ #define MIN(a,b) ((a)<(b)?(a):(b))
++#if defined(GPROFNG_JAVA_PROFILING)
+   /* get Java info */
+   if (__collector_java_mode && __collector_java_asyncgetcalltrace_loaded && context && !pseudo_context)
+     {
+@@ -569,6 +570,7 @@ __collector_get_frame_info (hrtime_t ts, int mode, void *arg)
+ 	  size -= sz;
+ 	}
+     }
++#endif
+ 
+   /* get native stack */
+   if (context)
diff --git a/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch b/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch
index 5de937f4fcce..1c208dd8955c 100644
--- a/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch
+++ b/srcpkgs/binutils/patches/ppc64-revert-gnu-attributes.patch
@@ -1,39 +1,24 @@
-From b1faf99f3e546df2cd302bb1ad36a2078224fe8b Mon Sep 17 00:00:00 2001
+From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
 From: Ariadne Conill <ariadne@dereferenced.org>
-Date: Fri, 30 Oct 2020 16:59:48 -0600
+Date: Tue, 21 Sep 2021 14:53:13 +0000
 Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
  libraries"
 
+This revert is needed to avoid wrongly tagging objects with the incompatible
+IBM long double ABI, which is not supported by musl and will result in
+linking errors if used.
+
 This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
 ---
- bfd/ChangeLog     | 6 ------
- bfd/elf32-tic6x.c | 3 ---
- ld/ChangeLog      | 6 ------
- ld/ldlang.c       | 9 ++++-----
- 4 files changed, 4 insertions(+), 20 deletions(-)
+ bfd/elf32-tic6x.c |  3 ---
+ ld/ldlang.c       | 10 ++++------
+ 2 files changed, 4 insertions(+), 9 deletions(-)
 
-diff --git a/bfd/ChangeLog b/bfd/ChangeLog
-index 9fac12538a..b5461494e8 100644
---- a/bfd/ChangeLog
-+++ b/bfd/ChangeLog
-@@ -1422,12 +1422,6 @@
- 	accessing root.u.def of symbols.  Also check root.u.def.section
- 	is non-NULL.  Reverse tests so as to make the logic positive.
- 
--2020-05-01  Alan Modra  <amodra@gmail.com>
--
--	PR 25882
--	* elf32-tic6x.c (elf32_tic6x_merge_attributes): Don't transfer
--	Tag_ABI_PIC or Tag_ABI_PID from dynamic objects to the output.
--
- 2020-05-01  Alan Modra  <amodra@gmail.com>
- 
- 	PR 25882
 diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
-index b8b916bfd3..91bb6a10b1 100644
+index 5754f3cb860..3ad1d612749 100644
 --- a/bfd/elf32-tic6x.c
 +++ b/bfd/elf32-tic6x.c
-@@ -3748,9 +3748,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
+@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
  
  	case Tag_ABI_PIC:
  	case Tag_ABI_PID:
@@ -43,36 +28,20 @@ index b8b916bfd3..91bb6a10b1 100644
  	  if (out_attr[i].i > in_attr[i].i)
  	    out_attr[i].i = in_attr[i].i;
  	  break;
-diff --git a/ld/ChangeLog b/ld/ChangeLog
-index 4eec7d2977..b93452f70c 100644
---- a/ld/ChangeLog
-+++ b/ld/ChangeLog
-@@ -1319,12 +1319,6 @@
- 	* testsuite/ld-aarch64/farcall-group.d: New test driver.
- 	* testsuite/ld-aarch64/aarch64-elf.exp: Run the new test.
- 
--2020-05-01  Alan Modra  <amodra@gmail.com>
--
--	PR 25882
--	* ldlang.c (lang_check): Call bfd_merge_private_bfd_data for
--	shared libraries.
--
- 2020-05-01  Alan Modra  <amodra@gmail.com>
- 
- 	* po/BLD-POTFILES.in: Regenerate.
 diff --git a/ld/ldlang.c b/ld/ldlang.c
-index 9977195074..173d8ec349 100644
+index 37b64c89ee1..f13beaef9d9 100644
 --- a/ld/ldlang.c
 +++ b/ld/ldlang.c
-@@ -6972,12 +6972,11 @@ lang_check (void)
+@@ -7071,13 +7071,11 @@ lang_check (void)
  		   bfd_printable_name (input_bfd), input_bfd,
  		   bfd_printable_name (link_info.output_bfd));
  	}
 -
 -      /* If the input bfd has no contents, it shouldn't set the
 -	 private data of the output bfd.  */
--      else if ((input_bfd->flags & DYNAMIC) != 0
--	       || bfd_count_sections (input_bfd) != 0)
+-      else if (!file->flags.just_syms
+-	       && ((input_bfd->flags & DYNAMIC) != 0
+-		   || bfd_count_sections (input_bfd) != 0))
 +      else if (bfd_count_sections (input_bfd))
  	{
 +	  /* If the input bfd has no contents, it shouldn't set the
@@ -82,5 +51,4 @@ index 9977195074..173d8ec349 100644
  
  	  /* If we aren't supposed to warn about mismatched input
 -- 
-2.29.2
-
+2.33.0
diff --git a/srcpkgs/binutils/template b/srcpkgs/binutils/template
index 6270f8618c87..0578665c1a30 100644
--- a/srcpkgs/binutils/template
+++ b/srcpkgs/binutils/template
@@ -1,19 +1,20 @@
 # Template file for 'binutils'
 pkgname=binutils
-version=2.35.1
-revision=4
+version=2.39
+revision=1
 bootstrap=yes
+hostmakedepends="pkg-config"
 makedepends="zlib-devel"
 short_desc="GNU binary utilities"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/binutils/"
 distfiles="${GNU_SITE}/$pkgname/$pkgname-$version.tar.xz"
-checksum=3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
+checksum=645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
 
 subpackages="binutils-doc"
 if [ "$CHROOT_READY" ]; then
-	hostmakedepends="flex perl texinfo"
+	hostmakedepends+=" flex perl texinfo"
 	makedepends+=" elfutils-devel"
 	checkdepends="bc"
 	depends="binutils-doc"
@@ -44,6 +45,12 @@ do_configure() {
 		conf+=" --host=${XBPS_CROSS_TRIPLET} --with-build-sysroot=${XBPS_CROSS_BASE}"
 	fi
 
+	# gprofng currently only supports x86 and aarch64 glibc.
+	case "$XBPS_TARGET_MACHINE" in
+		x86_64|i386|aarch64) conf+=" --enable-gprofng" ;;
+		*) conf+=" --disable-gprofng" ;;
+	esac
+
 	case "$XBPS_TARGET_MACHINE" in
 		ppc*)
 			conf+=" --enable-secureplt"

From b4bf84091dc6c855790d3d751c6a1fd0f2d3b95c Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 12 Aug 2022 06:26:59 -0700
Subject: [PATCH 02/48] gcc: update to 12.2.0.

---
 common/shlibs                                 | 10 +--
 srcpkgs/gcc/files/gccgo-musl.patch            | 74 ++++---------------
 srcpkgs/gcc/files/libgnarl-musl.patch         | 18 ++---
 srcpkgs/gcc/files/libssp-musl.patch           | 10 +--
 srcpkgs/gcc/patches/libffi_gnulinux.patch     | 11 ---
 .../gcc/patches/libgcc-ibm128-no-tag.patch    | 10 ++-
 srcpkgs/gcc/patches/mips-sgidefs_h.patch      |  2 +-
 srcpkgs/gcc/template                          | 25 +++----
 8 files changed, 52 insertions(+), 108 deletions(-)
 delete mode 100644 srcpkgs/gcc/patches/libffi_gnulinux.patch

diff --git a/common/shlibs b/common/shlibs
index 5fe37e3d0b62..8b8be0eafe00 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -60,7 +60,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.16 libgo-10.2.0_1
+libgo.so.21 libgo-12.2.0_1
 libgccjit.so.0 libgccjit-10.2.1pre1_1
 libperl.so.5.34 perl-5.34.0_1
 libgmp.so.10 gmp-5.0.1_1
@@ -845,8 +845,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-10.so libada-10.2.0_1
-libgnat-10.so libada-10.2.0_1
+libgnarl-12.so libada-12.2.0_1
+libgnat-12.so libada-12.2.0_1
 libwebp.so.7 libwebp-0.6.0_1
 libwebpmux.so.3 libwebp-0.6.0_1
 libwebpdemux.so.2 libwebp-0.5.0_1
@@ -1695,8 +1695,8 @@ libextractor.so.3 libextractor-1.1_1
 libextractor_common.so.1 libextractor-1.1_1
 libpano13.so.3 libpano13-2.9.19_1
 libubsan.so.1 libsanitizer-8.2.0_1
-libtsan.so.0 libsanitizer-6.3.0_1
-libasan.so.6 libsanitizer-10.2.0_1
+libtsan.so.2 libsanitizer-12.2.0_1
+libasan.so.8 libsanitizer-12.2.0_1
 liblsan.so.0 libsanitizer-6.3.0_1
 libvtv.so.0 libvtv-6.3.0_1
 libatomic.so.1 libatomic-4.9.0_1
diff --git a/srcpkgs/gcc/files/gccgo-musl.patch b/srcpkgs/gcc/files/gccgo-musl.patch
index 9762739615af..632ef951097b 100644
--- a/srcpkgs/gcc/files/gccgo-musl.patch
+++ b/srcpkgs/gcc/files/gccgo-musl.patch
@@ -53,17 +53,6 @@ URL: https://code.foxkit.us/adelie/packages/tree/master/system/gcc
  	p := sysMmap(addr, n, prot, flags, fd, off)
  	if uintptr(p) == _MAP_FAILED {
  		return nil, errno()
---- a/libgo/go/runtime/signal_gccgo.go
-+++ b/libgo/go/runtime/signal_gccgo.go
-@@ -111,7 +111,7 @@ func getsig(i uint32) uintptr {
- 	if sigaction(i, nil, &sa) < 0 {
- 		// On GNU/Linux glibc rejects attempts to call
- 		// sigaction with signal 32 (SIGCANCEL) or 33 (SIGSETXID).
--		if GOOS == "linux" && (i == 32 || i == 33) {
-+		if GOOS == "linux" && (i == 32 || i == 33 || i == 34) {
- 			return _SIG_DFL
- 		}
- 		throw("sigaction read failure")
 --- a/libgo/go/syscall/errstr.go
 +++ b/libgo/go/syscall/errstr.go
 @@ -5,7 +5,6 @@
@@ -140,55 +129,6 @@ URL: https://code.foxkit.us/adelie/packages/tree/master/system/gcc
  		plwoff = &lwoff
  	}
  	n, err = splice(rfd, plroff, wfd, plwoff, len, flags)
---- a/libgo/mksigtab.sh
-+++ b/libgo/mksigtab.sh
-@@ -82,7 +82,7 @@ checksig _SIGPWR     '{_SigNotify, "SIGPWR: power failure restart"}'
- checksig _SIGEMT     '{_SigThrow, "SIGEMT: emulate instruction executed"}'
- checksig _SIGINFO    '{_SigNotify, "SIGINFO: status request from keyboard"}'
- checksig _SIGTHR     '{_SigNotify, "SIGTHR: reserved"}'
--checksig _SIGPOLL    '{_SigNotify, "SIGPOLL: pollable event occurred"}'
-+#checksig _SIGPOLL    '{_SigNotify, "SIGPOLL: pollable event occurred"}'
- checksig _SIGWAITING '{_SigNotify, "SIGWAITING: reserved signal no longer used by"}'
- checksig _SIGLWP     '{_SigNotify, "SIGLWP: reserved signal no longer used by"}'
- checksig _SIGFREEZE  '{_SigNotify, "SIGFREEZE: special signal used by CPR"}'
-@@ -95,10 +95,12 @@ checksig _SIGLOST '   {_SigNotify, "SIGLOST: resource lost (Sun); server died (G
- 
- # Special handling of signals 32 and 33 on GNU/Linux systems,
- # because they are special to glibc.
-+# Signal 34 is additionally special to Linux systems with musl.
- if test "${GOOS}" = "linux"; then
--    SIGLIST=$SIGLIST"_32__33_"
-+    SIGLIST=$SIGLIST"_32__33__34_"
-     echo '	32: {_SigSetStack + _SigUnblock, "signal 32"}, /* SIGCANCEL; see issue 6997 */'
-     echo '	33: {_SigSetStack + _SigUnblock, "signal 33"}, /* SIGSETXID; see issues 3871, 9400, 12498 */'
-+    echo '	34: {_SigSetStack + _SigUnblock, "signal 34"}, /* see issue 30062 */'
- fi
- 
- if test "${GOOS}" = "aix"; then
---- a/libgo/runtime/go-signal.c	2020-07-23 08:35:19.004402840 +0200
-+++ b/libgo/runtime/go-signal.c	2020-08-09 21:35:54.352886232 +0200
-@@ -224,7 +224,11 @@
- #elif defined(__alpha__) && defined(__linux__)
- 	ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.sc_pc;
- #elif defined(__PPC__) && defined(__linux__)
--	ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.regs->nip;
-+	#ifdef __PPC64__
-+		ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.gp_regs[32];
-+	#else
-+		ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.gregs[32];
-+	#endif
- #elif defined(__PPC__) && defined(_AIX)
- 	ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.jmp_context.iar;
- #elif defined(__aarch64__) && defined(__linux__)
-@@ -333,7 +337,7 @@
- 		runtime_printf("sp  %X\n", m->sc_regs[30]);
- 		runtime_printf("pc  %X\n", m->sc_pc);
- 	  }
--#elif defined(__PPC__) && defined(__LITTLE_ENDIAN__) && defined(__linux__)
-+#elif defined(__PPC__) && defined(__LITTLE_ENDIAN__) && defined(__linux__) && defined(__GLIBC__)
- 	  {
- 		mcontext_t *m = &((ucontext_t*)(context))->uc_mcontext;
- 		int i;
 --- a/libgo/runtime/runtime.h
 +++ b/libgo/runtime/runtime.h
 @@ -500,10 +500,13 @@ int __go_setcontext(__go_context_t*);
@@ -220,3 +160,17 @@ URL: https://code.foxkit.us/adelie/packages/tree/master/system/gcc
  #if defined(HAVE_SYS_UTSNAME_H)
  #include <sys/utsname.h>
  #endif
+--- a/libgo/go/runtime/os_linux.go
++++ a/libgo/go/runtime/os_linux.go
+@@ -363,9 +363,9 @@
+ 
+ 	var timerid int32
+ 	var sevp _sigevent
+-	sevp.sigev_notify = _SIGEV_THREAD_ID
++	sevp.sigev_notify = 4
+ 	sevp.sigev_signo = _SIGPROF
+-	*((*int32)(unsafe.Pointer(&sevp._sigev_un))) = int32(mp.procid)
++	*((*int32)(unsafe.Pointer(&sevp.sigev_notify_function))) = int32(mp.procid)
+ 	ret := timer_create(_CLOCK_THREAD_CPUTIME_ID, &sevp, &timerid)
+ 	if ret != 0 {
+ 		// If we cannot create a timer for this M, leave profileTimerValid false
diff --git a/srcpkgs/gcc/files/libgnarl-musl.patch b/srcpkgs/gcc/files/libgnarl-musl.patch
index 99a734c42c90..91c95949e0e9 100644
--- a/srcpkgs/gcc/files/libgnarl-musl.patch
+++ b/srcpkgs/gcc/files/libgnarl-musl.patch
@@ -5,7 +5,7 @@ Reason: Patch libgnarl to not use function missing from musl.
 diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-osinte__linux.ads gcc-8.2.0-new/gcc/ada/libgnarl/s-osinte__linux.ads
 --- a/gcc/ada/libgnarl/s-osinte__linux.ads	2018-01-11 00:55:25.000000000 -0800
 +++ b/gcc/ada/libgnarl/s-osinte__linux.ads	2018-11-01 16:16:23.372452951 -0700
-@@ -394,12 +394,6 @@ package System.OS_Interface is
+@@ -403,12 +403,6 @@ package System.OS_Interface is
     PTHREAD_RWLOCK_PREFER_WRITER_NP              : constant := 1;
     PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP : constant := 2;
  
@@ -18,7 +18,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-osinte__linux.ads gcc-8.2.0-new/gcc/ada/l
     function pthread_rwlock_init
       (mutex : access pthread_rwlock_t;
        attr  : access pthread_rwlockattr_t) return int;
-@@ -464,11 +458,6 @@ package System.OS_Interface is
+@@ -470,11 +464,6 @@ package System.OS_Interface is
        protocol : int) return int;
     pragma Import (C, pthread_mutexattr_setprotocol);
  
@@ -33,7 +33,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-osinte__linux.ads gcc-8.2.0-new/gcc/ada/l
 diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/libgnarl/s-taprop__linux.adb
 --- a/gcc/ada/libgnarl/s-taprop__linux.adb	2018-01-11 00:55:25.000000000 -0800
 +++ b/gcc/ada/libgnarl/s-taprop__linux.adb	2018-11-13 11:28:36.433964449 -0800
-@@ -202,9 +202,6 @@ package body System.Task_Primitives.Oper
+@@ -198,9 +198,6 @@ package body System.Task_Primitives.Oper
     pragma Import
       (C, GNAT_pthread_condattr_setup, "__gnat_pthread_condattr_setup");
  
@@ -43,7 +43,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l
     --  We do not have pragma Linker_Options ("-lcap"); here, because this
     --  library is not present on many Linux systems. 'libcap' is the Linux
     --  "capabilities" library, called by __gnat_has_cap_sys_nice.
-@@ -214,38 +211,6 @@ package body System.Task_Primitives.Oper
+@@ -210,38 +207,6 @@ package body System.Task_Primitives.Oper
     --  Convert Ada priority to Linux priority. Priorities are 1 .. 99 on
     --  GNU/Linux, so we map 0 .. 98 to 1 .. 99.
  
@@ -76,13 +76,13 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l
 -      return Ceiling_Support;
 -   end Get_Ceiling_Support;
 -
--   pragma Warnings (Off, "non-static call not allowed in preelaborated unit");
+-   pragma Warnings (Off, "non-preelaborable call not allowed*");
 -   Ceiling_Support : constant Boolean := Get_Ceiling_Support;
--   pragma Warnings (On, "non-static call not allowed in preelaborated unit");
+-   pragma Warnings (On, "non-preelaborable call not allowed*");
     --  True if the locking policy is Ceiling_Locking, and the current process
     --  has permission to use this policy. The process has permission if it is
     --  running as 'root', or if the capability was set by the setcap command,
-@@ -348,7 +313,9 @@ package body System.Task_Primitives.Oper
+@@ -344,7 +309,9 @@ package body System.Task_Primitives.Oper
     -- Init_Mutex --
     ----------------
  
@@ -92,7 +92,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l
        Mutex_Attr : aliased pthread_mutexattr_t;
        Result, Result_2 : C.int;
  
-@@ -360,16 +327,7 @@ package body System.Task_Primitives.Oper
+@@ -356,16 +323,7 @@ package body System.Task_Primitives.Oper
           return Result;
        end if;
  
@@ -110,7 +110,7 @@ diff -rup gcc-8.2.0/gcc/ada/libgnarl/s-taprop__linux.adb gcc-8.2.0-new/gcc/ada/l
           Result := pthread_mutexattr_setprotocol
             (Mutex_Attr'Access, PTHREAD_PRIO_INHERIT);
           pragma Assert (Result = 0);
-@@ -409,11 +367,6 @@ package body System.Task_Primitives.Oper
+@@ -405,11 +363,6 @@ package body System.Task_Primitives.Oper
              Result := pthread_rwlockattr_init (RWlock_Attr'Access);
              pragma Assert (Result = 0);
  
diff --git a/srcpkgs/gcc/files/libssp-musl.patch b/srcpkgs/gcc/files/libssp-musl.patch
index b21a2c29e57c..99f248401a1c 100644
--- a/srcpkgs/gcc/files/libssp-musl.patch
+++ b/srcpkgs/gcc/files/libssp-musl.patch
@@ -2,9 +2,9 @@ First part taken from Alpine.
 
 Second part added to prevent gccgo from thinking it can -fsplit-stack on musl.
 
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -874,10 +874,15 @@ proper position among the other output files.  */
+--- a/gcc/gcc.cc
++++ b/gcc/gcc.cc
+@@ -984,10 +984,15 @@ proper position among the other output f
  #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
  #endif
  
@@ -22,10 +22,10 @@ Second part added to prevent gccgo from thinking it can -fsplit-stack on musl.
  #else
  #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
  		       "|fstack-protector-strong|fstack-protector-explicit" \
-@@ -1155,7 +1160,7 @@ static const char *cc1_options =
+@@ -1280,7 +1285,7 @@ static const char *cc1_options =
   %{-version:--version}\
   %{-help=*:--help=%*}\
-  %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
+  %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
 - %{fsyntax-only:-o %j} %{-param*}\
 + %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
   %{coverage:-fprofile-arcs -ftest-coverage}\
diff --git a/srcpkgs/gcc/patches/libffi_gnulinux.patch b/srcpkgs/gcc/patches/libffi_gnulinux.patch
deleted file mode 100644
index 98245bd5be1a..000000000000
--- a/srcpkgs/gcc/patches/libffi_gnulinux.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libffi/src/closures.c
-+++ b/libffi/src/closures.c
-@@ -34,7 +34,7 @@
- #include <ffi_common.h>
-
- #if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
--# if __gnu_linux__ && !defined(__ANDROID__)
-+# if __linux__ && !defined(__ANDROID__)
- /* This macro indicates it may be forbidden to map anonymous memory
-    with both write and execute permission.  Code compiled when this
-    option is defined will attempt to map such pages once, but if it
diff --git a/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch b/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch
index bdf5c75d917d..26d80356ad0d 100644
--- a/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch
+++ b/srcpkgs/gcc/patches/libgcc-ibm128-no-tag.patch
@@ -29,10 +29,14 @@ diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
 index 4f6d4c4..fa93bb6 100644
 --- a/libgcc/config/rs6000/t-linux
 +++ b/libgcc/config/rs6000/t-linux
-@@ -1,3 +1,3 @@
+@@ -1,6 +1,6 @@
  SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
  
--HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
-+HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-gnu-attribute -mno-minimal-toc
+-HOST_LIBGCC2_CFLAGS += -mlong-double-128
++HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-gnu-attribute
+ 
+ # This is a way of selecting -mcmodel=small for ppc64, which gives
+ # smaller and faster libgcc code.  Directly specifying -mcmodel=small
+
 -- 
 2.24.0
diff --git a/srcpkgs/gcc/patches/mips-sgidefs_h.patch b/srcpkgs/gcc/patches/mips-sgidefs_h.patch
index dddfe10e8c06..cd0ae7a380df 100644
--- a/srcpkgs/gcc/patches/mips-sgidefs_h.patch
+++ b/srcpkgs/gcc/patches/mips-sgidefs_h.patch
@@ -3,7 +3,7 @@
 @@ -42,7 +42,7 @@
  #define _MIPS_SIM_NABI32	2
  #define _MIPS_SIM_ABI64		3
- #elif !defined(__OpenBSD__)
+ #elif !defined(__OpenBSD__) && !defined(__FreeBSD__)
 -# include <sgidefs.h>
 +# include <asm/sgidefs.h>
  #endif
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 09727ef34fb2..446741390d45 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -3,18 +3,15 @@
 # which use the version number.
 
 pkgname=gcc
-# we are using a 10-stable git snapshot alpine is using in order
-# to get regression fixes not yet incorporate into a stable release
-# it should be possible to switch back to stable with 10.3 or 11
-version=10.2.1pre1
-revision=3
+version=12.2.0
+revision=1
 _patchver="${version%pre*}"
 _minorver="${_patchver%.*}"
 _majorver="${_minorver%.*}"
-_gmp_version=6.2.0
+_gmp_version=6.2.1
 _mpfr_version=4.1.0
-_mpc_version=1.1.0
-_isl_version=0.21
+_mpc_version=1.2.1
+_isl_version=0.24
 wrksrc=gcc-${version/pre/_pre}
 short_desc="GNU Compiler Collection"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -22,16 +19,16 @@ homepage="http://gcc.gnu.org"
 license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 # *-musl builders have issues fetching https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
 distfiles="
- https://dev.alpinelinux.org/~nenolod/gcc-${version/pre/_pre}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz
  https://gmplib.org/download/gmp/gmp-${_gmp_version}.tar.xz
  ${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="772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526
+checksum="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2
  0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f
- 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
- d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859"
+ 17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459
+ fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0"
 
 nopie=yes
 lib32disabled=yes
@@ -396,7 +393,7 @@ gcc-ada_package() {
 	depends="gcc>=${_minorver} libada-devel>=${_minorver}"
 	short_desc+=" - Ada compiler frontend"
 	pkg_install() {
-		for f in gnat{,bind,chop,clean,find,kr,link,ls,make,name,prep,xref}; do
+		for f in gnat{,bind,chop,clean,kr,link,ls,make,name,prep}; do
 			vmove usr/bin/${f}
 		done
 	}

From 6b09f9841c1ef53109af4e3630e4581932bdf2f5 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 12 Aug 2022 06:27:47 -0700
Subject: [PATCH 03/48] libtool: update to 2.4.7.

---
 .../patches/0002-rename-with-sysroot.patch    | 34 +++++++++----------
 srcpkgs/libtool/template                      | 11 ++++--
 2 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/libtool/patches/0002-rename-with-sysroot.patch b/srcpkgs/libtool/patches/0002-rename-with-sysroot.patch
index 960873c04e24..152aace96c41 100644
--- a/srcpkgs/libtool/patches/0002-rename-with-sysroot.patch
+++ b/srcpkgs/libtool/patches/0002-rename-with-sysroot.patch
@@ -13,16 +13,16 @@ Jürgen Buchmüller <pullmoll@t-online.de>
 
 --- a/configure	2015-02-15 17:14:34.000000000 +0100
 +++ b/configure	2015-10-20 13:25:12.684906339 +0200
-@@ -824,7 +824,7 @@
+@@ -832,7 +832,7 @@
  enable_fast_install
  with_aix_soname
  with_gnu_ld
 -with_sysroot
 +with_libtool_sysroot
  enable_libtool_lock
+ enable_cross_guesses
  '
-       ac_precious_vars='build_alias
-@@ -1487,7 +1487,8 @@
+@@ -1509,7 +1509,8 @@
                            shared library versioning (aka "SONAME") variant to
                            provide on AIX, [default=aix].
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
@@ -32,7 +32,7 @@ Jürgen Buchmüller <pullmoll@t-online.de>
                            compiler's sysroot if not specified).
  
  Some influential environment variables:
-@@ -7389,29 +7390,29 @@
+@@ -7610,29 +7611,29 @@
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
  $as_echo_n "checking for sysroot... " >&6; }
  
@@ -57,8 +57,8 @@ Jürgen Buchmüller <pullmoll@t-online.de>
     fi
     ;; #(
   /*)
--   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-+   lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+-   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
++   lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"`
     ;; #(
   no|'')
     ;; #(
@@ -72,7 +72,7 @@ Jürgen Buchmüller <pullmoll@t-online.de>
  esac
 --- a/libltdl/configure	2015-02-15 17:15:15.000000000 +0100
 +++ b/libltdl/configure	2015-10-20 13:26:45.747914683 +0200
-@@ -775,7 +775,7 @@
+@@ -777,7 +777,7 @@
  with_aix_soname
  enable_dependency_tracking
  with_gnu_ld
@@ -81,7 +81,7 @@ Jürgen Buchmüller <pullmoll@t-online.de>
  enable_libtool_lock
  enable_ltdl_install
  '
-@@ -1429,7 +1429,8 @@
+@@ -1442,7 +1442,8 @@
                            shared library versioning (aka "SONAME") variant to
                            provide on AIX, [default=aix].
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
@@ -91,7 +91,7 @@ Jürgen Buchmüller <pullmoll@t-online.de>
                            compiler's sysroot if not specified).
  
  Some influential environment variables:
-@@ -6275,29 +6276,29 @@
+@@ -6397,29 +6398,29 @@
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
  $as_echo_n "checking for sysroot... " >&6; }
  
@@ -116,8 +116,8 @@ Jürgen Buchmüller <pullmoll@t-online.de>
     fi
     ;; #(
   /*)
--   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-+   lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+-   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
++   lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"`
     ;; #(
   no|'')
     ;; #(
@@ -243,14 +243,14 @@ Jürgen Buchmüller <pullmoll@t-online.de>
  ]])
 --- a/m4/libtool.m4	2015-01-20 17:15:19.000000000 +0100
 +++ b/m4/libtool.m4	2015-10-20 15:40:04.020631813 +0200
-@@ -1245,29 +1245,29 @@
- # _LT_WITH_SYSROOT
+@@ -1243,29 +1243,29 @@
  # ----------------
  AC_DEFUN([_LT_WITH_SYSROOT],
--[AC_MSG_CHECKING([for sysroot])
+ [m4_require([_LT_DECL_SED])dnl
+-AC_MSG_CHECKING([for sysroot])
 -AC_ARG_WITH([sysroot],
 -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
-+[AC_MSG_CHECKING([for libtool-sysroot])
++AC_MSG_CHECKING([for libtool-sysroot])
 +AC_ARG_WITH([libtool-sysroot],
 +[AS_HELP_STRING([--with-libtool-sysroot@<:@=DIR@:>@],
    [Search for dependent libraries within DIR (or the compiler's sysroot
@@ -269,8 +269,8 @@ Jürgen Buchmüller <pullmoll@t-online.de>
     fi
     ;; #(
   /*)
--   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-+   lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+-   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
++   lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"`
     ;; #(
   no|'')
     ;; #(
diff --git a/srcpkgs/libtool/template b/srcpkgs/libtool/template
index b9972df70341..70c4aa533e66 100644
--- a/srcpkgs/libtool/template
+++ b/srcpkgs/libtool/template
@@ -1,7 +1,7 @@
 # Template file for 'libtool'
 pkgname=libtool
-version=2.4.6
-revision=6
+version=2.4.7
+revision=1
 build_style=gnu-configure
 hostmakedepends="texinfo perl automake help2man xz"
 depends="tar sed"
@@ -10,7 +10,12 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="http://www.gnu.org/software/libtool"
 distfiles="${GNU_SITE}/libtool/$pkgname-$version.tar.xz"
-checksum=7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f
+checksum=4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d
+
+if [ "$XBPS_LIBC" == "musl" ]; then
+# Musl always searches LD_LIBRARY_PATH before RPATH and RUNPATH
+make_build_args="lt_cv_shlibpath_overrides_runpath=yes"
+fi
 
 pre_configure() {
 	touch aclocal.m4 libltdl/aclocal.m4 Makefile.am libltdl/Makefile.am Makefile.in libltdl/Makefile.in

From 57247ba5a5e7d59be7db858d76817390332ea6e6 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 12 Aug 2022 17:20:16 -0700
Subject: [PATCH 04/48] libiberty-devel: update to 20220713.

---
 srcpkgs/libiberty-devel/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libiberty-devel/template b/srcpkgs/libiberty-devel/template
index 1a4e1ca3d594..b04268908c2e 100644
--- a/srcpkgs/libiberty-devel/template
+++ b/srcpkgs/libiberty-devel/template
@@ -1,6 +1,6 @@
 # Template file for 'libiberty-devel'
 pkgname=libiberty-devel
-version=20210106
+version=20220713
 revision=1
 wrksrc=libiberty-${version}
 build_wrksrc=libiberty
@@ -11,7 +11,7 @@ maintainer="q66 <daniel@octaforge.org>"
 license="GPL-3.0-or-later"
 homepage="http://gcc.gnu.org/"
 distfiles="http://deb.debian.org/debian/pool/main/libi/libiberty/libiberty_${version}.orig.tar.xz"
-checksum=9df153d69914c0f5a9145e0abbb248e72feebab6777c712a30f1c3b8c19047d4
+checksum=b59050f48c8a0f9c9e6fba5d17c7a4f11d1329de0c0dca7331b767a6d2bbe8d9
 conflicts="binutils-devel<=2.35.1_3"
 
 CFLAGS="-fPIC"

From 843603002ce2f50162358b97838af08f9263ba37 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 12 Aug 2022 23:31:45 -0700
Subject: [PATCH 05/48] glibc: update to 2.36.

---
 common/shlibs                                 |  60 ++--
 .../glibc/patches/glibc-c-utf8-locale.patch   | 286 ------------------
 srcpkgs/glibc/template                        |  62 ++--
 3 files changed, 55 insertions(+), 353 deletions(-)
 delete mode 100644 srcpkgs/glibc/patches/glibc-c-utf8-locale.patch

diff --git a/common/shlibs b/common/shlibs
index 8b8be0eafe00..8b31fec0557c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -17,38 +17,38 @@
 # one (order top->bottom) is preferred over the next ones.
 #
 libc.so musl-1.1.24_7
-libc.so.6 glibc-2.32_1
-libm.so.6 glibc-2.32_1
-libpthread.so.0 glibc-2.32_1
-librt.so.1 glibc-2.32_1
-libdl.so.2 glibc-2.32_1
-ld-linux-x86-64.so.2 glibc-2.32_1 x86_64
-ld-linux.so.2 glibc-2.32_1 i686
-ld-linux.so.3 glibc-2.32_1 armv5tel
-ld-linux-aarch64.so.1 glibc-2.32_1 aarch64
-ld64.so.2 glibc-2.32_1 ppc64
-ld.so.1 glibc-2.32_1 mips
-ld.so.1 glibc-2.32_1 ppc
-ld-linux-armhf.so.3 glibc-2.32_1
-libresolv.so.2 glibc-2.32_1
-libanl.so.1 glibc-2.32_1
-libthread_db.so.1 glibc-2.32_1
-libutil.so.1 glibc-2.32_1
-libnsl.so.1 glibc-2.32_1
-libnss_db.so.2 glibc-2.32_1
-libnss_files.so.2 glibc-2.32_1
-libnss_compat.so.2 glibc-2.32_1
-libnss_dns.so.2 glibc-2.32_1
-libnss_hesiod.so.2 glibc-2.32_1
-libcrypt.so.1 glibc-2.32_1
-libBrokenLocale.so.1 glibc-2.32_1
+libc.so.6 glibc-2.36_1
+libm.so.6 glibc-2.36_1
+libpthread.so.0 glibc-2.36_1
+librt.so.1 glibc-2.36_1
+libdl.so.2 glibc-2.36_1
+ld-linux-x86-64.so.2 glibc-2.36_1 x86_64
+ld-linux.so.2 glibc-2.36_1 i686
+ld-linux.so.3 glibc-2.36_1 armv5tel
+ld-linux-aarch64.so.1 glibc-2.36_1 aarch64
+ld64.so.2 glibc-2.36_1 ppc64
+ld.so.1 glibc-2.36_1 mips
+ld.so.1 glibc-2.36_1 ppc
+ld-linux-armhf.so.3 glibc-2.36_1
+libresolv.so.2 glibc-2.36_1
+libanl.so.1 glibc-2.36_1
+libthread_db.so.1 glibc-2.36_1
+libutil.so.1 glibc-2.36_1
+libnsl.so.1 glibc-2.36_1
+libnss_db.so.2 glibc-2.36_1
+libnss_files.so.2 glibc-2.36_1
+libnss_compat.so.2 glibc-2.36_1
+libnss_dns.so.2 glibc-2.36_1
+libnss_hesiod.so.2 glibc-2.36_1
+libcrypt.so.1 glibc-2.36_1
+libBrokenLocale.so.1 glibc-2.36_1
 libSimGearCore.so.2020.3.13 simgear-2020.3.13_1
 libSimGearScene.so.2020.3.13 simgear-2020.3.13_1
-libmemusage.so glibc-2.32_1
-libSegFault.so glibc-2.32_1
-libpcprofile.so glibc-2.32_1
-libcidn.so.1 glibc-2.32_1
-libmvec.so.1 glibc-2.32_1
+libmemusage.so glibc-2.36_1
+libSegFault.so glibc-2.36_1
+libpcprofile.so glibc-2.36_1
+libcidn.so.1 glibc-2.36_1
+libmvec.so.1 glibc-2.36_1
 libcddgmp.so.0 cddlib-0.94m_1
 libcdd.so.0 cddlib-0.94m_1
 libz.so.1 zlib-1.2.3_1
diff --git a/srcpkgs/glibc/patches/glibc-c-utf8-locale.patch b/srcpkgs/glibc/patches/glibc-c-utf8-locale.patch
deleted file mode 100644
index 7215e1558b62..000000000000
--- a/srcpkgs/glibc/patches/glibc-c-utf8-locale.patch
+++ /dev/null
@@ -1,286 +0,0 @@
-Short description: Add C.UTF-8 support.
-Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
-Origin: PATCH
-Upstream status: not-submitted
-
-This patch needs to upstream as part of Carlos O'Donell
-<carlos@redhat.com>'s work on enabling upstream C.UTF-8 support. This
-work is currently blocked on cleaning up the test results to prove that
-full code-point sorting is working as intended.
-
-Note that this patch does not provide full code-point sorting as
-expected.
-
-This patch needs to upstream as soon as possible since it would be nice
-to have this in F29 and fixed.
-
-From 2eda7b462b415105f5a05c1323372d4e39d46439 Mon Sep 17 00:00:00 2001
-From: Mike FABIAN <mfabian@redhat.com>
-Date: Mon, 10 Aug 2015 15:58:12 +0200
-Subject: [PATCH] Add a C.UTF-8 locale
-
----
- localedata/SUPPORTED |   1 +
- localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 239 insertions(+)
- create mode 100644 localedata/locales/C
-
-diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
-index 8ca023e..2a78391 100644
---- a/localedata/SUPPORTED
-+++ b/localedata/SUPPORTED
-@@ -1,6 +1,7 @@
- # This file names the currently supported and somewhat tested locales.
- # If you have any additions please file a glibc bug report.
- SUPPORTED-LOCALES=\
-+C.UTF-8/UTF-8 \
- aa_DJ.UTF-8/UTF-8 \
- aa_DJ/ISO-8859-1 \
- aa_ER/UTF-8 \
-diff --git a/localedata/locales/C b/localedata/locales/C
-new file mode 100644
-index 0000000..fdf460e
---- /dev/null
-+++ b/localedata/locales/C
-@@ -0,0 +1,238 @@
-+escape_char /
-+comment_char %
-+% Locale for C locale in UTF-8
-+
-+LC_IDENTIFICATION
-+title      "C locale"
-+source     ""
-+address    ""
-+contact    ""
-+email      "mfabian@redhat.com"
-+tel        ""
-+fax        ""
-+language   "C"
-+territory  ""
-+revision   "1.0"
-+date       "2015-08-10"
-+%
-+category  "i18n:2012";LC_IDENTIFICATION
-+category  "i18n:2012";LC_CTYPE
-+category  "i18n:2012";LC_COLLATE
-+category  "i18n:2012";LC_TIME
-+category  "i18n:2012";LC_NUMERIC
-+category  "i18n:2012";LC_MONETARY
-+category  "i18n:2012";LC_MESSAGES
-+category  "i18n:2012";LC_PAPER
-+category  "i18n:2012";LC_NAME
-+category  "i18n:2012";LC_ADDRESS
-+category  "i18n:2012";LC_TELEPHONE
-+category  "i18n:2012";LC_MEASUREMENT
-+END LC_IDENTIFICATION
-+
-+LC_CTYPE
-+copy "i18n"
-+
-+translit_start
-+include "translit_combining";""
-+translit_end
-+
-+END LC_CTYPE
-+
-+LC_COLLATE
-+order_start forward
-+<U0000>
-+..
-+<UFFFF>
-+<U10000>
-+..
-+<U1FFFF>
-+<U20000>
-+..
-+<U2FFFF>
-+<UE0000>
-+..
-+<UEFFFF>
-+<UF0000>
-+..
-+<UFFFFF>
-+<U100000>
-+..
-+<U10FFFF>
-+UNDEFINED
-+order_end
-+END LC_COLLATE
-+
-+LC_MONETARY
-+% This is the 14652 i18n fdcc-set definition for
-+% the LC_MONETARY category
-+% (except for the int_curr_symbol and currency_symbol, they are empty in
-+% the 14652 i18n fdcc-set definition and also empty in
-+% glibc/locale/C-monetary.c. But localedef complains in that case).
-+%
-+% Using "USD" for int_curr_symbol. But maybe "XXX" would be better?
-+% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217)
-+int_curr_symbol     "<U0055><U0053><U0044><U0020>"
-+% Using "$" for currency_symbol. But maybe <U00A4> would be better?
-+% U+00A4 is the "generic currency symbol"
-+% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29)
-+currency_symbol     "<U0024>"
-+mon_decimal_point   "<U002E>"
-+mon_thousands_sep   ""
-+mon_grouping        -1
-+positive_sign       ""
-+negative_sign       "<U002D>"
-+int_frac_digits     -1
-+frac_digits         -1
-+p_cs_precedes       -1
-+int_p_sep_by_space  -1
-+p_sep_by_space      -1
-+n_cs_precedes       -1
-+int_n_sep_by_space  -1
-+n_sep_by_space      -1
-+p_sign_posn         -1
-+n_sign_posn         -1
-+%
-+END LC_MONETARY
-+
-+LC_NUMERIC
-+% This is the POSIX Locale definition for
-+% the LC_NUMERIC category.
-+%
-+decimal_point   "<U002E>"
-+thousands_sep   ""
-+grouping        -1
-+END LC_NUMERIC
-+
-+LC_TIME
-+% This is the POSIX Locale definition for
-+% the LC_TIME category.
-+%
-+% Abbreviated weekday names (%a)
-+abday       "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
-+            "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
-+            "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
-+            "<U0053><U0061><U0074>"
-+
-+% Full weekday names (%A)
-+day         "<U0053><U0075><U006E><U0064><U0061><U0079>";/
-+            "<U004D><U006F><U006E><U0064><U0061><U0079>";/
-+            "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";/
-+            "<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
-+            "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";/
-+            "<U0046><U0072><U0069><U0064><U0061><U0079>";/
-+            "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
-+
-+% Abbreviated month names (%b)
-+abmon       "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
-+            "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
-+            "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
-+            "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
-+            "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
-+            "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
-+
-+% Full month names (%B)
-+mon         "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
-+            "<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
-+            "<U004D><U0061><U0072><U0063><U0068>";/
-+            "<U0041><U0070><U0072><U0069><U006C>";/
-+            "<U004D><U0061><U0079>";/
-+            "<U004A><U0075><U006E><U0065>";/
-+            "<U004A><U0075><U006C><U0079>";/
-+            "<U0041><U0075><U0067><U0075><U0073><U0074>";/
-+            "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
-+            "<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
-+            "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
-+            "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
-+
-+% Week description, consists of three fields:
-+% 1. Number of days in a week.
-+% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday).
-+% 3. The weekday number to be contained in the first week of the year.
-+%
-+% ISO 8601 conforming applications should use the values 7, 19971201 (a
-+% Monday), and 4 (Thursday), respectively.
-+week    7;19971201;4
-+first_weekday	1
-+first_workday	1
-+
-+% Appropriate date and time representation (%c)
-+%	"%a %b %e %H:%M:%S %Y"
-+d_t_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0059>"
-+
-+% Appropriate date representation (%x)
-+%	"%m/%d/%y"
-+d_fmt   "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0079>"
-+
-+% Appropriate time representation (%X)
-+%	"%H:%M:%S"
-+t_fmt   "<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053>"
-+
-+% Appropriate AM/PM time representation (%r)
-+%	"%I:%M:%S %p"
-+t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
-+
-+% Equivalent of AM/PM (%p)      "AM"/"PM"
-+%
-+am_pm	"<U0041><U004D>";"<U0050><U004D>"
-+
-+% Appropriate date representation (date(1))   "%a %b %e %H:%M:%S %Z %Y"
-+date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>"
-+END LC_TIME
-+
-+LC_MESSAGES
-+% This is the POSIX Locale definition for
-+% the LC_NUMERIC category.
-+%
-+yesexpr "<U005E><U005B><U0079><U0059><U005D>"
-+noexpr  "<U005E><U005B><U006E><U004E><U005D>"
-+yesstr  "<U0059><U0065><U0073>"
-+nostr   "<U004E><U006F>"
-+END LC_MESSAGES
-+
-+LC_PAPER
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_PAPER category.
-+% (A4 paper, this is also used in the built in C/POSIX
-+% locale in glibc/locale/C-paper.c)
-+height   297
-+width    210
-+END LC_PAPER
-+
-+LC_NAME
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_NAME category.
-+% "%p%t%g%t%m%t%f"
-+% (also used in the built in C/POSIX locale in glibc/locale/C-name.c)
-+name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074>/
-+<U0025><U006D><U0025><U0074><U0025><U0066>"
-+END LC_NAME
-+
-+LC_ADDRESS
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_ADDRESS category.
-+% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N"
-+% (also used in the built in C/POSIX locale in glibc/locale/C-address.c)
-+postal_fmt    "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E>/
-+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
-+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
-+<U004E><U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054><U0025>/
-+<U004E><U0025><U0063><U0025><U004E>"
-+END LC_ADDRESS
-+
-+LC_TELEPHONE
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_TELEPHONE category.
-+% "+%c %a %l"
-+tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
-+<U006C>"
-+% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c)
-+END LC_TELEPHONE
-+
-+LC_MEASUREMENT
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_MEASUREMENT category.
-+% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c)
-+%metric
-+measurement    1
-+END LC_MEASUREMENT
-+
--- 
-2.4.3
-
diff --git a/srcpkgs/glibc/template b/srcpkgs/glibc/template
index c62a4d2aedf1..139aab865864 100644
--- a/srcpkgs/glibc/template
+++ b/srcpkgs/glibc/template
@@ -1,14 +1,14 @@
 # Template file for 'glibc'
 pkgname=glibc
-version=2.32
-revision=2
+version=2.36
+revision=1
 bootstrap=yes
 short_desc="GNU C library"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later, BSD-3-Clause"
 homepage="http://www.gnu.org/software/libc"
 distfiles="${GNU_SITE}/glibc/glibc-${version}.tar.xz"
-checksum=1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum=1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
 # Do not strip these files, objcopy errors out.
 nostrip_files="
 	XBS5_ILP32_OFFBIG
@@ -20,27 +20,28 @@ nostrip_files="
 	POSIX_V6_LP64_OFF64
 	POSIX_V7_LP64_OFF64
 	XBS5_LP64_OFF64
-	ld-${version}.so
-	libdl-${version}.so
-	libanl-${version}.so
-	libcidn-${version}.so
-	libresolv-${version}.so
-	libcrypt-${version}.so
-	libpthread-${version}.so
-	libm-${version}.so
-	libutil-${version}.so
-	libthread_db-1.0.so
-	librt-${version}.so
-	libnsl-${version}.so
-	libc-${version}.so
-	libBrokenLocale-${version}.so
-	libnss_compat-${version}.so
-	libnss_db-${version}.so
-	libnss_dns-${version}.so
-	libnss_files-${version}.so
-	libnss_hesiod-${version}.so
-	libnss_nisplus-${version}.so
-	libnss_nis-${version}.so"
+	ld-linux-x86-64.so.2
+	ld-linux.so.2
+	ld-linux.so.3
+	ld-linux-aarch64.so.1
+	ld64.so.2
+	ld.so.1
+	ld-linux-armhf.so.3
+	libresolv.so.2
+	libcrypt.so.1
+	libm.so.6
+	libthread_db.so.1
+	libnsl.so.1
+	libc.so.6
+	libc_malloc_debug.so.0
+	libmemusage.so
+	libmvec.so.1
+	libBrokenLocale.so.1
+	libnss_compat.so.2
+	libnss_db.so.2
+	libnss_dns.so.2
+	libnss_files.so.2
+	libnss_hesiod.so.2"
 
 conf_files="
 	/etc/rpc
@@ -54,7 +55,6 @@ lib32files="/usr/lib/gconv/gconv-modules"
 lib32symlinks="ld-linux.so.2"
 # There's no point in building this for musl.
 archs="~*-musl"
-nopie=yes
 
 do_configure() {
 	mkdir build
@@ -163,18 +163,6 @@ do_install() {
 	rm -f ${DESTDIR}/usr/bin/z{dump,ic}
 
 	mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin
-
-	# Create xbps.d(5) arch override file for 32-bit architectures
-	# 32-bit userlands may be used with 64-bit kernels and then
-	# xbps will report an incorrect architecture by default
-	case "$XBPS_TARGET_MACHINE" in
-		i686|ppc|ppcle|armv*)
-			vmkdir usr/share/xbps.d
-			echo "architecture=${XBPS_TARGET_MACHINE}" > \
-				${DESTDIR}/usr/share/xbps.d/arch-32bit.conf
-			;;
-		*) ;;
-	esac
 }
 
 glibc-devel_package() {

From 359e4f5dc25ee7209952ea3f4e9589d765667962 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Mon, 22 Aug 2022 21:01:43 -0700
Subject: [PATCH 06/48] gcc-multilib: update to 12.2.0.

---
 srcpkgs/gcc-multilib/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template
index fcd25755aa75..1a26da26a991 100644
--- a/srcpkgs/gcc-multilib/template
+++ b/srcpkgs/gcc-multilib/template
@@ -3,16 +3,16 @@ archs="x86_64"
 _triplet="x86_64-unknown-linux-gnu"
 
 pkgname=gcc-multilib
-version=10.2.1pre1
+version=12.2.0
 revision=1
 _majorver="${version%.*}"
-wrksrc=gcc-${version/pre/_pre}
+wrksrc=gcc-${version}
 short_desc="GNU Compiler Collection (multilib files)"
 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="https://dev.alpinelinux.org/~nenolod/gcc-${version/pre/_pre}.tar.xz"
-checksum=772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz"
+checksum=e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
 
 hostmakedepends="perl flex tar zip unzip"
 makedepends="zlib-devel libmpc-devel isl15-devel libfl-devel

From dca9e82aeebbd7b4f11cd6a0d9fc1fa6833dd445 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Thu, 18 Aug 2022 16:22:03 -0700
Subject: [PATCH 07/48] llvm12: fix build for glibc 2.36

---
 .../compiler-rt-sanitizer-glibc-2.36.patch    | 59 +++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 srcpkgs/llvm12/patches/compiler-rt-sanitizer-glibc-2.36.patch

diff --git a/srcpkgs/llvm12/patches/compiler-rt-sanitizer-glibc-2.36.patch b/srcpkgs/llvm12/patches/compiler-rt-sanitizer-glibc-2.36.patch
new file mode 100644
index 000000000000..e5f24dab8935
--- /dev/null
+++ b/srcpkgs/llvm12/patches/compiler-rt-sanitizer-glibc-2.36.patch
@@ -0,0 +1,59 @@
+From 9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 Mon Sep 17 00:00:00 2001
+From: Fangrui Song <i@maskray.me>
+Date: Mon, 11 Jul 2022 12:53:34 -0700
+Subject: [PATCH] [sanitizer] Remove #include <linux/fs.h> to resolve
+ fsconfig_command/mount_attr conflict with glibc 2.36
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It is generally not a good idea to mix usage of glibc headers and Linux UAPI
+headers (https://sourceware.org/glibc/wiki/Synchronizing_Headers). In glibc
+since 7eae6a91e9b1670330c9f15730082c91c0b1d570 (milestone: 2.36), sys/mount.h
+defines `fsconfig_command` which conflicts with linux/mount.h:
+
+    .../usr/include/linux/mount.h:95:6: error: redeclaration of ‘enum fsconfig_command’
+
+Remove #include <linux/fs.h> which pulls in linux/mount.h. Expand its 4 macros manually.
+Android sys/mount.h doesn't define BLKBSZGET and it still needs linux/fs.h.
+In the long term we should move Linux specific definitions to sanitizer_platform_limits_linux.cpp
+but this commit is easy to cherry pick into older compiler-rt releases.
+
+Fix https://github.com/llvm/llvm-project/issues/56421
+
+Reviewed By: #sanitizers, vitalybuka, zatrazz
+
+Differential Revision: https://reviews.llvm.org/D129471
+---
+ .../sanitizer_platform_limits_posix.cpp                | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+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 4bd425435d56d..3a94b260686f1 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+@@ -73,7 +73,9 @@
+ #include <sys/vt.h>
+ #include <linux/cdrom.h>
+ #include <linux/fd.h>
++#if SANITIZER_ANDROID
+ #include <linux/fs.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/input.h>
+ #include <linux/ioctl.h>
+@@ -876,10 +878,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
+   unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
+ #endif
+-  unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
+-  unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
+-  unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
+-  unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
++  unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
++  unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
++  unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
++  unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
+   unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+   unsigned IOCTL_GIO_FONT = GIO_FONT;
+   unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;

From b5077f505fbb6b1c4dac7cb6452004003dd65a5c Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Thu, 18 Aug 2022 17:21:40 -0700
Subject: [PATCH 08/48] m4: update to 1.4.19.

---
 srcpkgs/m4/patches/fix-glibc-2.27.patch | 167 ------------------------
 srcpkgs/m4/template                     |  12 +-
 2 files changed, 6 insertions(+), 173 deletions(-)
 delete mode 100644 srcpkgs/m4/patches/fix-glibc-2.27.patch

diff --git a/srcpkgs/m4/patches/fix-glibc-2.27.patch b/srcpkgs/m4/patches/fix-glibc-2.27.patch
deleted file mode 100644
index 59d33cff164d..000000000000
--- a/srcpkgs/m4/patches/fix-glibc-2.27.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 5 Mar 2018 10:56:29 -0800
-Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Daniel P. Berrangé in:
-https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
-* lib/fbufmode.c (fbufmode):
-* lib/fflush.c (clear_ungetc_buffer_preserving_position)
-(disable_seek_optimization, rpl_fflush):
-* lib/fpending.c (__fpending):
-* lib/fpurge.c (fpurge):
-* lib/freadable.c (freadable):
-* lib/freadahead.c (freadahead):
-* lib/freading.c (freading):
-* lib/freadptr.c (freadptr):
-* lib/freadseek.c (freadptrinc):
-* lib/fseeko.c (fseeko):
-* lib/fseterr.c (fseterr):
-* lib/fwritable.c (fwritable):
-* lib/fwriting.c (fwriting):
-Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
-* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
-Define if not already defined.
-
-[yann.morin.1998@free.fr: partially backport from upstream gnulib]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-
----
- lib/fflush.c     |  6 +++---
- lib/fpending.c   |  2 +-
- lib/fpurge.c     |  2 +-
- lib/freadahead.c |  2 +-
- lib/freading.c   |  2 +-
- lib/fseeko.c     |  4 ++--
- lib/stdio-impl.h |  6 ++++++
- 7 files changed, 15 insertions(+), 9 deletions(-)
-
-diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c
-index 983ade0ff..a6edfa105 100644
---- a/lib/fflush.c
-+++ b/lib/fflush.c
-@@ -33,7 +33,7 @@
- #undef fflush
- 
- 
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- 
- /* Clear the stream's ungetc buffer, preserving the value of ftello (fp).  */
- static void
-@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
- 
- #endif
- 
--#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
- 
- # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
-   if (stream == NULL || ! freading (stream))
-     return fflush (stream);
- 
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- 
-   clear_ungetc_buffer_preserving_position (stream);
- 
-diff --git a/lib/fpending.c b/build-aux/gnulib/lib/fpending.c
-index c84e3a5b4..789f50e4e 100644
---- a/lib/fpending.c
-+++ b/lib/fpending.c
-@@ -32,7 +32,7 @@ __fpending (FILE *fp)
-   /* Most systems provide FILE as a struct and the necessary bitmask in
-      <stdio.h>, because they need it for implementing getc() and putc() as
-      fast macros.  */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   return fp->_IO_write_ptr - fp->_IO_write_base;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
-   /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c
-index b1d417c7a..3aedcc373 100644
---- a/lib/fpurge.c
-+++ b/lib/fpurge.c
-@@ -62,7 +62,7 @@ fpurge (FILE *fp)
-   /* Most systems provide FILE as a struct and the necessary bitmask in
-      <stdio.h>, because they need it for implementing getc() and putc() as
-      fast macros.  */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   fp->_IO_read_end = fp->_IO_read_ptr;
-   fp->_IO_write_ptr = fp->_IO_write_base;
-   /* Avoid memory leak when there is an active ungetc buffer.  */
-diff --git a/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c
-index c2ecb5b28..23ec76ee5 100644
---- a/lib/freadahead.c
-+++ b/lib/freadahead.c
-@@ -30,7 +30,7 @@ extern size_t __sreadahead (FILE *);
- size_t
- freadahead (FILE *fp)
- {
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   if (fp->_IO_write_ptr > fp->_IO_write_base)
-     return 0;
-   return (fp->_IO_read_end - fp->_IO_read_ptr)
-diff --git a/lib/freading.c b/build-aux/gnulib/lib/freading.c
-index 73c28acdd..c24d0c88a 100644
---- a/lib/freading.c
-+++ b/lib/freading.c
-@@ -31,7 +31,7 @@ freading (FILE *fp)
-   /* Most systems provide FILE as a struct and the necessary bitmask in
-      <stdio.h>, because they need it for implementing getc() and putc() as
-      fast macros.  */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   return ((fp->_flags & _IO_NO_WRITES) != 0
-           || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
-               && fp->_IO_read_base != NULL));
-diff --git a/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c
-index 0101ab55f..193f4e8ce 100644
---- a/lib/fseeko.c
-+++ b/lib/fseeko.c
-@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
- #endif
- 
-   /* These tests are based on fpurge.c.  */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   if (fp->_IO_read_end == fp->_IO_read_ptr
-       && fp->_IO_write_ptr == fp->_IO_write_base
-       && fp->_IO_save_base == NULL)
-@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
-           return -1;
-         }
- 
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-       fp->_flags &= ~_IO_EOF_SEEN;
-       fp->_offset = pos;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
-diff --git a/lib/stdio-impl.h b/build-aux/gnulib/lib/stdio-impl.h
-index 78d896e9f..05c5752a2 100644
---- a/lib/stdio-impl.h
-+++ b/lib/stdio-impl.h
-@@ -18,6 +18,12 @@
-    the same implementation of stdio extension API, except that some fields
-    have different naming conventions, or their access requires some casts.  */
- 
-+/* Glibc 2.28 made _IO_IN_BACKUP private.  For now, work around this
-+   problem by defining it ourselves.  FIXME: Do not rely on glibc
-+   internals.  */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
- 
- /* BSD stdio derived implementations.  */
- 
--- 
-2.14.1
-
-
diff --git a/srcpkgs/m4/template b/srcpkgs/m4/template
index 78f3dae6184a..762593d883bd 100644
--- a/srcpkgs/m4/template
+++ b/srcpkgs/m4/template
@@ -1,17 +1,17 @@
 # Template file for 'm4'
 pkgname=m4
-version=1.4.18
-revision=2
+version=1.4.19
+revision=1
 bootstrap=yes
-replaces="chroot-m4>=0"
 build_style=gnu-configure
 configure_args="--enable-changeword --enable-threads"
 short_desc="GNU version of UNIX m4 macro language processor"
-homepage="https://www.gnu.org/software/m4/"
-license="GPL-3.0-or-later"
 maintainer="Enno Boland <gottox@voidlinux.org>"
+license="GPL-3.0-or-later"
+homepage="https://www.gnu.org/software/m4/"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.xz"
-checksum=f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07
+checksum=63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96
+replaces="chroot-m4>=0"
 
 if [ "$XBPS_TARGET_LIBC" = musl ]; then
 	export ac_cv_lib_error_at_line=no

From 61386a7022284b6a1cdd262dec23f658bed14f78 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Thu, 18 Aug 2022 22:57:59 -0700
Subject: [PATCH 09/48] btrfs-progs: update to 5.19.

---
 srcpkgs/btrfs-progs/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/btrfs-progs/template b/srcpkgs/btrfs-progs/template
index f6c53d8587e1..292d5110106b 100644
--- a/srcpkgs/btrfs-progs/template
+++ b/srcpkgs/btrfs-progs/template
@@ -1,6 +1,6 @@
 # Template file for 'btrfs-progs'
 pkgname=btrfs-progs
-version=5.18.1
+version=5.19
 revision=1
 wrksrc="${pkgname}-v${version}"
 build_style=gnu-configure
@@ -16,7 +16,7 @@ license="GPL-2.0-only, LGPL-2.1-or-later"
 homepage="https://btrfs.wiki.kernel.org/index.php/Main_Page"
 changelog="https://raw.githubusercontent.com/kdave/btrfs-progs/master/CHANGES"
 distfiles="${KERNEL_SITE}/kernel/people/kdave/${pkgname}/${pkgname}-v${version}.tar.xz"
-checksum=6e98a75ccff52e9354daa1ad284c614c490f844273a2fa524cbac9eb841c7255
+checksum=1fbcf06e4b2f80e7a127fd687ed4625a5b74fa674fe212c836ff70e0edfcccf9
 # Most of the tests depend on `mount` and `fallocate` commands, which are not
 # presented in chroot-util-linux
 make_check=no

From 50b67dd8a285554e593a378863ddb70a0b4a60b8 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Tue, 23 Aug 2022 19:39:23 -0700
Subject: [PATCH 10/48] syslinux: fix build for glibc 2.36

---
 .../patches/fix-build-with-glibc-2.36.patch   | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 srcpkgs/syslinux/patches/fix-build-with-glibc-2.36.patch

diff --git a/srcpkgs/syslinux/patches/fix-build-with-glibc-2.36.patch b/srcpkgs/syslinux/patches/fix-build-with-glibc-2.36.patch
new file mode 100644
index 000000000000..1303be56c127
--- /dev/null
+++ b/srcpkgs/syslinux/patches/fix-build-with-glibc-2.36.patch
@@ -0,0 +1,30 @@
+--- a/linux/syslinux.c
++++ b/linux/syslinux.c
+@@ -45,7 +45,6 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+-#include <sys/mount.h>
+ 
+ #include "linuxioctl.h"
+ 
+--- a/libinstaller/syslxcom.c
++++ b/libinstaller/syslxcom.c
+@@ -28,7 +28,6 @@
+ #include <errno.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+-#include <sys/mount.h>
+ #include <sys/vfs.h>
+ 
+ #include "linuxioctl.h"
+--- a/extlinux/main.c
++++ b/extlinux/main.c
+@@ -40,7 +40,6 @@
+ #include <sys/stat.h>
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+-#include <sys/mount.h>
+ #include <sys/vfs.h>
+ 
+ #include "linuxioctl.h"

From 51fc2769e9892adb4ebc08c7c2d470be25b942f5 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Sun, 14 Aug 2022 19:29:36 -0700
Subject: [PATCH 11/48] build-style/void-cross: Update flags for gcc12 and
 glibc 2.36

gcov can't be built without libc:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289

Remove -no-pie from build. glibc 2.35 and newer uses -static-pie by default:
https://sourceware.org/pipermail/glibc-cvs/2021q4/075916.html
---
 common/build-style/void-cross.sh | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 92f03f8130f5..58d94f8dacba 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -60,6 +60,7 @@ _void_cross_build_binutils() {
 		--disable-multilib \
 		--disable-werror \
 		--disable-gold \
+		--disable-gprofng \
 		--enable-relro \
 		--enable-plugins \
 		--enable-64-bit-bfd \
@@ -132,6 +133,7 @@ _void_cross_build_bootstrap_gcc() {
 		--disable-libssp \
 		--disable-libitm \
 		--disable-libatomic \
+		--disable-gcov \
 		--disable-threads \
 		--disable-sjlj-exceptions \
 		--enable-languages=c \
@@ -460,6 +462,14 @@ do_build() {
 	local binutils_ver linux_ver gcc_ver libc_ver libucontext_ver
 	local tgt=${sourcepkg/cross-}
 
+	export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
+	export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
+
+	# Disable explicit -fno-PIE, gcc/binutils/libc will figure this out itself.
+	export CFLAGS="${CFLAGS//-fno-PIE/}"
+	export CXXFLAGS="${CXXFLAGS//-fno-PIE/}"
+	export LDFLAGS="${LDFLAGS//-no-pie/}"
+
 	_void_cross_test_ver binutils
 	_void_cross_test_ver linux
 	_void_cross_test_ver gcc
@@ -625,6 +635,9 @@ do_install() {
 	# then remove it because it conflicts with libquadmath package
 	rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
 
+	# Remove libdep linker plugin because it conflicts with system binutils
+	rm -f ${DESTDIR}/usr/lib/bfd-plugins/libdep*
+
 	# Remove leftover symlinks
 	rm -f ${DESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE}
 	rm -f ${DESTDIR}/lib*

From 5ca7785d2120b86e01eb40e14d5f1bf0cf9026e1 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 12 Aug 2022 20:08:52 -0700
Subject: [PATCH 12/48] openssh: suppress werror on gcc12

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

diff --git a/srcpkgs/openssh/template b/srcpkgs/openssh/template
index 02a2dec35f42..6e8e343a9dca 100644
--- a/srcpkgs/openssh/template
+++ b/srcpkgs/openssh/template
@@ -40,7 +40,7 @@ if [ "$build_option_ldns" -a -z "$build_option_ssl" ]; then
 	broken="option 'ldns' requires option 'ssl'"
 fi
 
-CFLAGS="-Wno-format-truncation -Wno-stringop-truncation"
+CFLAGS="-Wno-format-truncation -Wno-stringop-truncation -Wno-error=maybe-uninitialized"
 
 case $XBPS_TARGET_MACHINE in
 	i686-musl)

From a9427faead85c60f7d9432e7bf6a71e4ab15a7bb Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 12 Aug 2022 20:09:31 -0700
Subject: [PATCH 13/48] linux5.18: update dotconfigs for gcc12

---
 srcpkgs/linux5.18/files/x86_64-dotconfig | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/srcpkgs/linux5.18/files/x86_64-dotconfig b/srcpkgs/linux5.18/files/x86_64-dotconfig
index 4e73a3195d40..ea6204868e23 100644
--- a/srcpkgs/linux5.18/files/x86_64-dotconfig
+++ b/srcpkgs/linux5.18/files/x86_64-dotconfig
@@ -512,6 +512,7 @@ CONFIG_RETHUNK=y
 CONFIG_CPU_UNRET_ENTRY=y
 CONFIG_CPU_IBPB_ENTRY=y
 CONFIG_CPU_IBRS_ENTRY=y
+CONFIG_SLS=y
 CONFIG_ARCH_HAS_ADD_PAGES=y
 CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
 
@@ -10060,8 +10061,11 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity"
 # Memory initialization
 #
 CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_ZERO_CALL_USED_REGS is not set
 # end of Memory initialization
 # end of Kernel hardening options
 # end of Security options
@@ -10538,6 +10542,7 @@ CONFIG_HAVE_ARCH_KGDB=y
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
 CONFIG_HAVE_ARCH_KCSAN=y
+# CONFIG_KCSAN is not set
 # end of Generic Kernel Debugging Instruments
 
 #

From 09ed0d51dad004ce6f300765d219ed2bfa369242 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Mon, 15 Aug 2022 18:00:42 -0700
Subject: [PATCH 14/48] xf86-video-vmware: fix build on gcc12

---
 ...183b3395333d5d4c73e25c2d011748f15eda.patch | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 srcpkgs/xf86-video-vmware/patches/77b8183b3395333d5d4c73e25c2d011748f15eda.patch

diff --git a/srcpkgs/xf86-video-vmware/patches/77b8183b3395333d5d4c73e25c2d011748f15eda.patch b/srcpkgs/xf86-video-vmware/patches/77b8183b3395333d5d4c73e25c2d011748f15eda.patch
new file mode 100644
index 000000000000..ff839f16e628
--- /dev/null
+++ b/srcpkgs/xf86-video-vmware/patches/77b8183b3395333d5d4c73e25c2d011748f15eda.patch
@@ -0,0 +1,30 @@
+From 77b8183b3395333d5d4c73e25c2d011748f15eda Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Sun, 8 May 2022 03:00:10 +0000
+Subject: [PATCH] vmwgfx: fix missing array notation
+
+ Fixes error identified by gcc-12.1.0 compiler
+
+make
+  CC       libvmwgfx_la-vmwgfx_tex_video.lo
+vmwgfx_tex_video.c: In function 'stop_video':
+vmwgfx_tex_video.c:240:20: error: the comparison will always evaluate as 'true' for the address of 'yuv' will never be NULL [-Werror=address]
+  240 |                if (priv->yuv[i]) {
+      |                    ^~~~
+---
+ vmwgfx/vmwgfx_tex_video.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
+index acc2b56..480a5f1 100644
+--- a/vmwgfx/vmwgfx_tex_video.c
++++ b/vmwgfx/vmwgfx_tex_video.c
+@@ -237,7 +237,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
+ 
+        for (i=0; i<3; ++i) {
+ 	   for (j=0; j<2; ++j) {
+-	       if (priv->yuv[i]) {
++	       if (priv->yuv[j][i]) {
+ 		   xa_surface_destroy(priv->yuv[j][i]);
+ 		   priv->yuv[j][i] = NULL;
+ 	       }

From 7e2ac25f2ba59463dd0041f7bf6df6b77f95892f Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Sat, 20 Aug 2022 18:24:37 -0700
Subject: [PATCH 15/48] doxygen: fix build for gcc 12

---
 srcpkgs/doxygen/patches/compat-gcc12.patch | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 srcpkgs/doxygen/patches/compat-gcc12.patch

diff --git a/srcpkgs/doxygen/patches/compat-gcc12.patch b/srcpkgs/doxygen/patches/compat-gcc12.patch
new file mode 100644
index 000000000000..666744a1dceb
--- /dev/null
+++ b/srcpkgs/doxygen/patches/compat-gcc12.patch
@@ -0,0 +1,22 @@
+From 5198966c8d5fec89116d025c74934ac03ea511fa Mon Sep 17 00:00:00 2001
+From: Dimitri van Heesch <doxygen@gmail.com>
+Date: Fri, 6 May 2022 09:55:16 +0200
+Subject: [PATCH] issue #9312: Build: cache.h:53:14: error: 'exchange' is not a
+ member of 'std'
+
+---
+ src/cache.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/cache.h b/src/cache.h
+index 0ff3092ed5..e218eb27d2 100644
+--- a/src/cache.h
++++ b/src/cache.h
+@@ -19,6 +19,7 @@
+ #include <list>
+ #include <unordered_map>
+ #include <mutex>
++#include <utility>
+ #include <ctype.h>
+ 
+ /*! Fixed size cache for value type V using keys of type K.

From be2ca39f7108e0f9fab82285ab7526a7b97f11ac Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Sun, 21 Aug 2022 21:37:00 -0700
Subject: [PATCH 16/48] openjdk7-bootstrap: fix build for gcc12

---
 .../files/dist_patches_glibc.txt              |  1 +
 .../files/dist_patches_musl.txt               |  1 +
 .../icedtea-pointer-comparison-gcc12.patch    | 31 +++++++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 srcpkgs/openjdk7-bootstrap/files/icedtea-pointer-comparison-gcc12.patch

diff --git a/srcpkgs/openjdk7-bootstrap/files/dist_patches_glibc.txt b/srcpkgs/openjdk7-bootstrap/files/dist_patches_glibc.txt
index c76c56855441..8061756dfc0c 100644
--- a/srcpkgs/openjdk7-bootstrap/files/dist_patches_glibc.txt
+++ b/srcpkgs/openjdk7-bootstrap/files/dist_patches_glibc.txt
@@ -6,3 +6,4 @@ icedtea-jdk-no-soname.patch
 icedtea-jdk-xattr.patch
 icedtea-jdk-sysctl_h.patch
 icedtea-cpio.patch
+icedtea-pointer-comparison-gcc12.patch
diff --git a/srcpkgs/openjdk7-bootstrap/files/dist_patches_musl.txt b/srcpkgs/openjdk7-bootstrap/files/dist_patches_musl.txt
index 21812517c7c2..8b35d9c46989 100644
--- a/srcpkgs/openjdk7-bootstrap/files/dist_patches_musl.txt
+++ b/srcpkgs/openjdk7-bootstrap/files/dist_patches_musl.txt
@@ -11,3 +11,4 @@ icedtea-jdk-musl.patch
 icedtea-jdk-no-soname.patch
 icedtea-jdk-xattr.patch
 icedtea-cpio.patch
+icedtea-pointer-comparison-gcc12.patch
diff --git a/srcpkgs/openjdk7-bootstrap/files/icedtea-pointer-comparison-gcc12.patch b/srcpkgs/openjdk7-bootstrap/files/icedtea-pointer-comparison-gcc12.patch
new file mode 100644
index 000000000000..c809553443e7
--- /dev/null
+++ b/srcpkgs/openjdk7-bootstrap/files/icedtea-pointer-comparison-gcc12.patch
@@ -0,0 +1,31 @@
+--- openjdk.orig/hotspot/src/share/vm/opto/lcm.cpp
++++ openjdk/hotspot/src/share/vm/opto/lcm.cpp
+@@ -60,7 +60,7 @@
+ // Check whether val is not-null-decoded compressed oop,
+ // i.e. will grab into the base of the heap if it represents NULL.
+ static bool accesses_heap_base_zone(Node *val) {
+-  if (Universe::narrow_oop_base() > 0) { // Implies UseCompressedOops.
++  if (Universe::narrow_oop_base() > (address)0) { // Implies UseCompressedOops.
+     if (val && val->is_Mach()) {
+       if (val->as_Mach()->ideal_Opcode() == Op_DecodeN) {
+         // This assumes all Decodes with TypePtr::NotNull are matched to nodes that
+--- openjdk.orig/hotspot/src/share/vm/runtime/virtualspace.cpp
++++ openjdk/hotspot/src/share/vm/runtime/virtualspace.cpp
+@@ -527,7 +527,7 @@ ReservedHeapSpace::ReservedHeapSpace(siz
+                 (UseCompressedOops && (Universe::narrow_oop_base() != NULL) &&
+                  Universe::narrow_oop_use_implicit_null_checks()) ?
+                   lcm(os::vm_page_size(), alignment) : 0) {
+-  if (base() > 0) {
++  if (base() > (char*)0) {
+     MemTracker::record_virtual_memory_type((address)base(), mtJavaHeap);
+   }
+ 
+@@ -546,7 +546,7 @@ ReservedHeapSpace::ReservedHeapSpace(con
+                 (UseCompressedOops && (Universe::narrow_oop_base() != NULL) &&
+                  Universe::narrow_oop_use_implicit_null_checks()) ?
+                   lcm(os::vm_page_size(), prefix_align) : 0) {
+-  if (base() > 0) {
++  if (base() > (char*)0) {
+     MemTracker::record_virtual_memory_type((address)base(), mtJavaHeap);
+   }
+ 

From 630b280b78bad824bb82e17712da3c31d5b8724b Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Tue, 23 Aug 2022 22:39:52 -0700
Subject: [PATCH 17/48] libvirt: fix build for glibc 2.36

---
 .../patches/lxc-fix-compat-glibc-2.36.patch   | 34 ++++++++++++++++
 .../virfile-fix-compat-glibc-2.36.patch       | 39 +++++++++++++++++++
 2 files changed, 73 insertions(+)
 create mode 100644 srcpkgs/libvirt/patches/lxc-fix-compat-glibc-2.36.patch
 create mode 100644 srcpkgs/libvirt/patches/virfile-fix-compat-glibc-2.36.patch

diff --git a/srcpkgs/libvirt/patches/lxc-fix-compat-glibc-2.36.patch b/srcpkgs/libvirt/patches/lxc-fix-compat-glibc-2.36.patch
new file mode 100644
index 000000000000..d85b57815010
--- /dev/null
+++ b/srcpkgs/libvirt/patches/lxc-fix-compat-glibc-2.36.patch
@@ -0,0 +1,34 @@
+From 9493c9b79dc541ec9e0fd73c6d87bdf8d30aaa90 Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobinso@redhat.com>
+Date: Mon, 1 Aug 2022 15:20:38 -0400
+Subject: [PATCH] lxc: containter: fix build with glibc 2.36
+
+With glibc 2.36, sys/mount.h and linux/mount.h conflict:
+https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+lxc_container.c imports sys/mount.h and linux/fs.h, which pulls in
+linux/mount.h.
+
+linux/fs.h isn't required here though. glibc sys/mount.h has had
+MS_MOVE since 2.12 in 2010
+
+Reviewed-by: Erik Skultety <eskultet@redhat.com>
+Signed-off-by: Cole Robinson <crobinso@redhat.com>
+---
+ src/lxc/lxc_container.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
+index b5278831da7..a5401c2186e 100644
+--- a/src/lxc/lxc_container.c
++++ b/src/lxc/lxc_container.c
+@@ -33,9 +33,6 @@
+ /* Yes, we want linux private one, for _syscall2() macro */
+ #include <linux/unistd.h>
+ 
+-/* For MS_MOVE */
+-#include <linux/fs.h>
+-
+ #if WITH_CAPNG
+ # include <cap-ng.h>
+ #endif
diff --git a/srcpkgs/libvirt/patches/virfile-fix-compat-glibc-2.36.patch b/srcpkgs/libvirt/patches/virfile-fix-compat-glibc-2.36.patch
new file mode 100644
index 000000000000..2ef227ea9b54
--- /dev/null
+++ b/srcpkgs/libvirt/patches/virfile-fix-compat-glibc-2.36.patch
@@ -0,0 +1,39 @@
+From c0d9adf220dc0d223330a7bac37b174132d330ba Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobinso@redhat.com>
+Date: Mon, 1 Aug 2022 15:24:01 -0400
+Subject: [PATCH] virfile: Fix build with glibc 2.36
+
+With glibc 2.36, sys/mount.h and linux/mount.h conflict:
+https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+virfile.c imports sys/mount.h and linux/fs.h, which pulls in
+linux/mount.h.
+
+Manually define the constants we need from linux/fs.h, like was
+done in llvm:
+
+https://reviews.llvm.org/rGb379129c4beb3f26223288627a1291739f33af02
+
+Reviewed-by: Erik Skultety <eskultet@redhat.com>
+Signed-off-by: Cole Robinson <crobinso@redhat.com>
+---
+ src/util/virfile.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/util/virfile.c b/src/util/virfile.c
+index 99da058db3b..ce541b8946b 100644
+--- a/src/util/virfile.c
++++ b/src/util/virfile.c
+@@ -71,7 +71,11 @@
+ # endif
+ # include <sys/ioctl.h>
+ # include <linux/cdrom.h>
+-# include <linux/fs.h>
++/* These come from linux/fs.h, but that header conflicts with
++ * sys/mount.h on glibc 2.36+ */
++# define FS_IOC_GETFLAGS _IOR('f', 1, long)
++# define FS_IOC_SETFLAGS _IOW('f', 2, long)
++# define FS_NOCOW_FL 0x00800000
+ #endif
+ 
+ #if WITH_LIBATTR

From 5ede4ece33cde734bfff18f0e57e40d32ca0d15f Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Tue, 23 Aug 2022 22:41:50 -0700
Subject: [PATCH 18/48] efivar: fix build for glibc 2.36

---
 .../patches/fix-compat-glibc-2.36.patch       | 55 +++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 srcpkgs/efivar/patches/fix-compat-glibc-2.36.patch

diff --git a/srcpkgs/efivar/patches/fix-compat-glibc-2.36.patch b/srcpkgs/efivar/patches/fix-compat-glibc-2.36.patch
new file mode 100644
index 000000000000..fcc83aef20cf
--- /dev/null
+++ b/srcpkgs/efivar/patches/fix-compat-glibc-2.36.patch
@@ -0,0 +1,55 @@
+From bc65d63ebf8fe6ac8a099ff15ca200986dba1565 Mon Sep 17 00:00:00 2001
+From: Robbie Harwood <rharwood@redhat.com>
+Date: Thu, 28 Jul 2022 16:11:24 -0400
+Subject: [PATCH] Fix glibc 2.36 build (mount.h conflicts)
+
+glibc has decided that sys/mount.h and linux/mount.h are no longer
+usable at the same time.  This broke the build, since linux/fs.h itself
+includes linux/mount.h.  For now, fix the build by only including
+sys/mount.h where we need it.
+
+See-also: https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+Resolves: #227
+Signed-off-by: Robbie Harwood <rharwood@redhat.com>
+---
+ src/gpt.c   | 1 +
+ src/linux.c | 1 +
+ src/util.h  | 1 -
+ 3 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/gpt.c b/src/gpt.c
+index 1eda0497..21413c3b 100644
+--- a/src/gpt.c
++++ b/src/gpt.c
+@@ -17,6 +17,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/mount.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/utsname.h>
+diff --git a/src/linux.c b/src/linux.c
+index 47e45ae4..1780816f 100644
+--- a/src/linux.c
++++ b/src/linux.c
+@@ -20,6 +20,7 @@
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <sys/ioctl.h>
++#include <sys/mount.h>
+ #include <sys/socket.h>
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+diff --git a/src/util.h b/src/util.h
+index 3300666f..1e67e447 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -23,7 +23,6 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+-#include <sys/mount.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <tgmath.h>

From 8727cc90a33fbd4f3b446bc0c338a629c8d97fd9 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Tue, 23 Aug 2022 22:43:24 -0700
Subject: [PATCH 19/48] libwpd: fix build for gcc12

---
 srcpkgs/libwpd/patches/fix-compat-gcc12.patch | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 srcpkgs/libwpd/patches/fix-compat-gcc12.patch

diff --git a/srcpkgs/libwpd/patches/fix-compat-gcc12.patch b/srcpkgs/libwpd/patches/fix-compat-gcc12.patch
new file mode 100644
index 000000000000..6ebce2463d16
--- /dev/null
+++ b/srcpkgs/libwpd/patches/fix-compat-gcc12.patch
@@ -0,0 +1,11 @@
+diff -rup libwpd-0.10.3.orig/src/lib/WPXTable.h libwpd-0.10.3/src/lib/WPXTable.h
+--- libwpd-0.10.3.orig/src/lib/WPXTable.h	2022-08-23 22:32:45.332593795 -0700
++++ libwpd-0.10.3/src/lib/WPXTable.h	2022-08-23 22:32:59.500651211 -0700
+@@ -37,6 +37,7 @@
+ #define _WPXTABLE_H
+ 
+ #include <vector>
++#include <cstddef>
+ 
+ struct WPXTableCell
+ {

From a8c8f9f72550fd592aa8deaec7771f51aa20772f Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Tue, 23 Aug 2022 22:44:07 -0700
Subject: [PATCH 20/48] grub: fix build for binutils 2.36

---
 .../patches/fix-compat-binutils-2.36.patch    | 96 +++++++++++++++++++
 srcpkgs/grub/template                         |  7 +-
 2 files changed, 102 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/grub/patches/fix-compat-binutils-2.36.patch

diff --git a/srcpkgs/grub/patches/fix-compat-binutils-2.36.patch b/srcpkgs/grub/patches/fix-compat-binutils-2.36.patch
new file mode 100644
index 000000000000..d92a91e3253e
--- /dev/null
+++ b/srcpkgs/grub/patches/fix-compat-binutils-2.36.patch
@@ -0,0 +1,96 @@
+From b98275138bf4fc250a1c362dfd2c8b1cf2421701 Mon Sep 17 00:00:00 2001
+From: Michael Chang <mchang@suse.com>
+Date: Tue, 28 Sep 2021 13:50:47 +0800
+Subject: build: Fix build error with binutils 2.36
+
+The following procedure to build xen/pvgrub is broken.
+
+  git clone https://git.savannah.gnu.org/git/grub.git
+  cd grub
+  ./bootstrap
+  mkdir build-xen
+  cd build-xen
+  ../configure --with-platform=xen
+  make
+
+It fails with the message:
+
+  /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld:
+  section .note.gnu.property VMA [0000000000400158,0000000000400187]
+  overlaps section .bss VMA [000000000000f000,000000000041e1af]
+
+The most significant factor is that new assembler (GNU as) generates the
+.note.gnu.property section as default. This note section overlaps with
+.bss because it doesn't reposition with -Wl,-Ttext,0 with which the base
+address of .text section is set, rather the address of .note.gnu.property
+is calculated for some reason from 0x400000 where the ELF executable
+defaults to start.
+
+Using -Ttext-segment doesn't help either, though it is said to set the
+address of the first byte of the text segment according to "man ld".
+What it actually does is to override the default 0x400000, aka the image
+base address, to something else. The entire process can be observed in
+the default linker script used by gcc [1]. Therefore we can't expect it
+to achieve the same thing as -Ttext given that the first segment where
+.text resides is offset by SIZEOF_HEADERS plus some sections may be
+preceding it within the first segment. The end result is .text always
+has to start with non-zero address with -Wl,-Ttext-segment,0 if using
+default linker script.
+
+It is also worth mentioning that binutils upstream apparently doesn't
+seem to consider this as a bug [2] and proposed to use -Wl,-Ttext-segment,0
+which is not fruitful as what has been tested by Gentoo [3].
+
+As long as GRUB didn't use ISA information encoded in .note.gnu.property,
+we can safely drop it via -Wa,-mx86-used-note=no assembler option to
+fix the linker error above.
+
+This is considered a better approach than using custom linker script to
+drop the .note.gnu.property section because object file manipulation can
+also be hampered one way or the other in that linker script may not be
+helpful. See also this commit removing the section in the process of objcopy.
+
+  6643507ce build: Fix GRUB i386-pc build with Ubuntu gcc
+
+[1] In /usr/lib64/ldscripts/elf_x86_64.x or use 'gcc -Wl,--verbose ...'
+    PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000));
+    . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
+[2] https://sourceware.org/bugzilla/show_bug.cgi?id=27377
+[3] https://bugs.gentoo.org/787221
+
+Signed-off-by: Michael Chang <mchang@suse.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ configure.ac | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+(limited to 'configure.ac')
+
+diff --git a/configure.ac b/configure.ac
+index eeb5d22..8d1c81a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -840,6 +840,20 @@ if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ) && test "x$p
+   TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow"
+ fi
+ 
++if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ); then
++  AC_CACHE_CHECK([whether -Wa,-mx86-used-note works], [grub_cv_cc_mx86_used_note], [
++    CFLAGS="$TARGET_CFLAGS -Wa,-mx86-used-note=no -Werror"
++    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
++	[grub_cv_cc_mx86_used_note=yes],
++	[grub_cv_cc_mx86_used_note=no])
++  ])
++
++  if test "x$grub_cv_cc_mx86_used_note" = xyes; then
++    TARGET_CFLAGS="$TARGET_CFLAGS -Wa,-mx86-used-note=no"
++    TARGET_CCASFLAGS="$TARGET_CCASFLAGS -Wa,-mx86-used-note=no"
++  fi
++fi
++
+ # GRUB doesn't use float or doubles at all. Yet some toolchains may decide
+ # that floats are a good fit to run instead of what's written in the code.
+ # Given that floating point unit is disabled (if present to begin with)
+-- 
+cgit v1.1
+
diff --git a/srcpkgs/grub/template b/srcpkgs/grub/template
index b1826c38a884..b4d3b07af620 100644
--- a/srcpkgs/grub/template
+++ b/srcpkgs/grub/template
@@ -2,7 +2,8 @@
 pkgname=grub
 version=2.06
 revision=2
-hostmakedepends="python3 pkg-config flex freetype-devel font-unifont-bdf help2man"
+hostmakedepends="python3 pkg-config flex freetype-devel font-unifont-bdf help2man
+ automake gettext-devel-tools"
 makedepends="libusb-compat-devel ncurses-devel freetype-devel
  liblzma-devel device-mapper-devel fuse-devel"
 depends="os-prober"
@@ -43,6 +44,10 @@ case "$XBPS_TARGET_MACHINE" in
 		;;
 esac
 
+pre_configure() {
+	autoreconf -fi
+}
+
 do_configure() {
 	# workaround for https://savannah.gnu.org/bugs/?60458
 	# some more info: https://www.linuxquestions.org/questions/showthread.php?p=6257712

From f506026f4fc93a5b5f342ff7cb10592deb399e41 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Tue, 23 Aug 2022 22:45:07 -0700
Subject: [PATCH 21/48] linux-toos: fix build for binutils 2.39

---
 .../patches/binutils-add-compat-check.patch   | 103 ++++++++++++
 .../patches/binutils-disasm-compat.patch      | 102 ++++++++++++
 .../bpf_jit_disasm-binutils-2.39.patch        | 104 ++++++++++++
 .../patches/bpftool-binutils-2.39.patch       | 149 ++++++++++++++++++
 .../patches/perf-binutils-2.39.patch          | 114 ++++++++++++++
 5 files changed, 572 insertions(+)
 create mode 100644 srcpkgs/linux-tools/patches/binutils-add-compat-check.patch
 create mode 100644 srcpkgs/linux-tools/patches/binutils-disasm-compat.patch
 create mode 100644 srcpkgs/linux-tools/patches/bpf_jit_disasm-binutils-2.39.patch
 create mode 100644 srcpkgs/linux-tools/patches/bpftool-binutils-2.39.patch
 create mode 100644 srcpkgs/linux-tools/patches/perf-binutils-2.39.patch

diff --git a/srcpkgs/linux-tools/patches/binutils-add-compat-check.patch b/srcpkgs/linux-tools/patches/binutils-add-compat-check.patch
new file mode 100644
index 000000000000..e4e7ece9635e
--- /dev/null
+++ b/srcpkgs/linux-tools/patches/binutils-add-compat-check.patch
@@ -0,0 +1,103 @@
+From cfd59ca91467056bb2c36907b2fa67b8e1af9952 Mon Sep 17 00:00:00 2001
+From: Andres Freund <andres@anarazel.de>
+Date: Sun, 31 Jul 2022 18:38:27 -0700
+Subject: [PATCH] tools build: Add feature test for init_disassemble_info API
+ changes
+
+binutils changed the signature of init_disassemble_info(), which now causes
+compilation failures for tools/{perf,bpf}, e.g. on debian unstable.
+
+Relevant binutils commit:
+
+  https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
+
+This commit adds a feature test to detect the new signature.  Subsequent
+commits will use it to fix the build failures.
+
+Signed-off-by: Andres Freund <andres@anarazel.de>
+Acked-by: Quentin Monnet <quentin@isovalent.com>
+Cc: Alexei Starovoitov <ast@kernel.org>
+Cc: Ben Hutchings <benh@debian.org>
+Cc: Jiri Olsa <jolsa@kernel.org>
+Cc: Quentin Monnet <quentin@isovalent.com>
+Cc: Sedat Dilek <sedat.dilek@gmail.com>
+Cc: bpf@vger.kernel.org
+Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
+Link: https://lore.kernel.org/r/20220801013834.156015-2-andres@anarazel.de
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/build/Makefile.feature                        |  1 +
+ tools/build/feature/Makefile                        |  4 ++++
+ tools/build/feature/test-all.c                      |  4 ++++
+ tools/build/feature/test-disassembler-init-styled.c | 13 +++++++++++++
+ 4 files changed, 22 insertions(+)
+ create mode 100644 tools/build/feature/test-disassembler-init-styled.c
+
+diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
+index 888a0421d43b96..8f6578e4d3249e 100644
+--- a/tools/build/Makefile.feature
++++ b/tools/build/Makefile.feature
+@@ -70,6 +70,7 @@ FEATURE_TESTS_BASIC :=                  \
+         libaio				\
+         libzstd				\
+         disassembler-four-args		\
++        disassembler-init-styled	\
+         file-handle
+ 
+ # FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
+diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
+index 7c2a17e23c30ac..c3059739318a95 100644
+--- a/tools/build/feature/Makefile
++++ b/tools/build/feature/Makefile
+@@ -18,6 +18,7 @@ FILES=                                          \
+          test-libbfd.bin                        \
+          test-libbfd-buildid.bin		\
+          test-disassembler-four-args.bin        \
++         test-disassembler-init-styled.bin	\
+          test-reallocarray.bin			\
+          test-libbfd-liberty.bin                \
+          test-libbfd-liberty-z.bin              \
+@@ -248,6 +249,9 @@ $(OUTPUT)test-libbfd-buildid.bin:
+ $(OUTPUT)test-disassembler-four-args.bin:
+ 	$(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
+ 
++$(OUTPUT)test-disassembler-init-styled.bin:
++	$(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
++
+ $(OUTPUT)test-reallocarray.bin:
+ 	$(BUILD)
+ 
+diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
+index 5ffafb967b6e49..957c02c7b163b5 100644
+--- a/tools/build/feature/test-all.c
++++ b/tools/build/feature/test-all.c
+@@ -166,6 +166,10 @@
+ # include "test-disassembler-four-args.c"
+ #undef main
+ 
++#define main main_test_disassembler_init_styled
++# include "test-disassembler-init-styled.c"
++#undef main
++
+ #define main main_test_libzstd
+ # include "test-libzstd.c"
+ #undef main
+diff --git a/tools/build/feature/test-disassembler-init-styled.c b/tools/build/feature/test-disassembler-init-styled.c
+new file mode 100644
+index 00000000000000..f1ce0ec3bee9d3
+--- /dev/null
++++ b/tools/build/feature/test-disassembler-init-styled.c
+@@ -0,0 +1,13 @@
++// SPDX-License-Identifier: GPL-2.0
++#include <stdio.h>
++#include <dis-asm.h>
++
++int main(void)
++{
++	struct disassemble_info info;
++
++	init_disassemble_info(&info, stdout,
++			      NULL, NULL);
++
++	return 0;
++}
diff --git a/srcpkgs/linux-tools/patches/binutils-disasm-compat.patch b/srcpkgs/linux-tools/patches/binutils-disasm-compat.patch
new file mode 100644
index 000000000000..1a6cc0e6d97c
--- /dev/null
+++ b/srcpkgs/linux-tools/patches/binutils-disasm-compat.patch
@@ -0,0 +1,102 @@
+From a45b3d6926231c3d024ea0de4f7bd967f83709ee Mon Sep 17 00:00:00 2001
+From: Andres Freund <andres@anarazel.de>
+Date: Sun, 31 Jul 2022 18:38:29 -0700
+Subject: tools include: add dis-asm-compat.h to handle version differences
+
+binutils changed the signature of init_disassemble_info(), which now causes
+compilation failures for tools/{perf,bpf}, e.g. on debian unstable.
+
+Relevant binutils commit:
+
+  https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
+
+This commit introduces a wrapper for init_disassemble_info(), to avoid
+spreading #ifdef DISASM_INIT_STYLED to a bunch of places. Subsequent
+commits will use it to fix the build failures.
+
+It likely is worth adding a wrapper for disassember(), to avoid the already
+existing DISASM_FOUR_ARGS_SIGNATURE ifdefery.
+
+Signed-off-by: Andres Freund <andres@anarazel.de>
+Signed-off-by: Ben Hutchings <benh@debian.org>
+Acked-by: Quentin Monnet <quentin@isovalent.com>
+Cc: Alexei Starovoitov <ast@kernel.org>
+Cc: Ben Hutchings <benh@debian.org>
+Cc: Jiri Olsa <jolsa@kernel.org>
+Cc: Quentin Monnet <quentin@isovalent.com>
+Cc: Sedat Dilek <sedat.dilek@gmail.com>
+Cc: bpf@vger.kernel.org
+Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
+Link: https://lore.kernel.org/r/20220801013834.156015-4-andres@anarazel.de
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/include/tools/dis-asm-compat.h | 55 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+ create mode 100644 tools/include/tools/dis-asm-compat.h
+
+(limited to 'tools/include/tools/dis-asm-compat.h')
+
+diff --git a/tools/include/tools/dis-asm-compat.h b/tools/include/tools/dis-asm-compat.h
+new file mode 100644
+index 0000000000000..70f331e23ed3d
+--- /dev/null
++++ b/tools/include/tools/dis-asm-compat.h
+@@ -0,0 +1,55 @@
++/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
++#ifndef _TOOLS_DIS_ASM_COMPAT_H
++#define _TOOLS_DIS_ASM_COMPAT_H
++
++#include <stdio.h>
++#include <dis-asm.h>
++
++/* define types for older binutils version, to centralize ifdef'ery a bit */
++#ifndef DISASM_INIT_STYLED
++enum disassembler_style {DISASSEMBLER_STYLE_NOT_EMPTY};
++typedef int (*fprintf_styled_ftype) (void *, enum disassembler_style, const char*, ...);
++#endif
++
++/*
++ * Trivial fprintf wrapper to be used as the fprintf_styled_func argument to
++ * init_disassemble_info_compat() when normal fprintf suffices.
++ */
++static inline int fprintf_styled(void *out,
++				 enum disassembler_style style,
++				 const char *fmt, ...)
++{
++	va_list args;
++	int r;
++
++	(void)style;
++
++	va_start(args, fmt);
++	r = vfprintf(out, fmt, args);
++	va_end(args);
++
++	return r;
++}
++
++/*
++ * Wrapper for init_disassemble_info() that hides version
++ * differences. Depending on binutils version and architecture either
++ * fprintf_func or fprintf_styled_func will be called.
++ */
++static inline void init_disassemble_info_compat(struct disassemble_info *info,
++						void *stream,
++						fprintf_ftype unstyled_func,
++						fprintf_styled_ftype styled_func)
++{
++#ifdef DISASM_INIT_STYLED
++	init_disassemble_info(info, stream,
++			      unstyled_func,
++			      styled_func);
++#else
++	(void)styled_func;
++	init_disassemble_info(info, stream,
++			      unstyled_func);
++#endif
++}
++
++#endif /* _TOOLS_DIS_ASM_COMPAT_H */
+-- 
+cgit 
+
diff --git a/srcpkgs/linux-tools/patches/bpf_jit_disasm-binutils-2.39.patch b/srcpkgs/linux-tools/patches/bpf_jit_disasm-binutils-2.39.patch
new file mode 100644
index 000000000000..01221fad3a4a
--- /dev/null
+++ b/srcpkgs/linux-tools/patches/bpf_jit_disasm-binutils-2.39.patch
@@ -0,0 +1,104 @@
+From 96ed066054abf11c7d3e106e3011a51f3f1227a3 Mon Sep 17 00:00:00 2001
+From: Andres Freund <andres@anarazel.de>
+Date: Sun, 31 Jul 2022 18:38:31 -0700
+Subject: [PATCH] tools bpf_jit_disasm: Fix compilation error with new binutils
+
+binutils changed the signature of init_disassemble_info(), which now causes
+compilation to fail for tools/bpf/bpf_jit_disasm.c, e.g. on debian
+unstable.
+
+Relevant binutils commit:
+
+  https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
+
+Wire up the feature test and switch to init_disassemble_info_compat(),
+which were introduced in prior commits, fixing the compilation failure.
+
+I verified that bpf_jit_disasm can still disassemble bpf programs, both
+with the old and new dis-asm.h API. With old binutils there's no change in
+output before/after this patch. When comparing the output from old
+binutils (2.35) to new bintuils with the patch (upstream snapshot) there
+are a few output differences, but they are unrelated to this patch. An
+example hunk is:
+
+     f4:	mov    %r14,%rsi
+     f7:	mov    %r15,%rdx
+     fa:	mov    $0x2a,%ecx
+  -  ff:	callq  0xffffffffea8c4988
+  +  ff:	call   0xffffffffea8c4988
+    104:	test   %rax,%rax
+    107:	jge    0x0000000000000110
+    109:	xor    %eax,%eax
+  - 10b:	jmpq   0x0000000000000073
+  + 10b:	jmp    0x0000000000000073
+    110:	cmp    $0x16,%rax
+
+However, I had to use an older kernel to generate the bpf_jit_enabled =
+2 output, as that has been broken since 5.18 / 1022a5498f6f745c ("bpf,
+x86_64: Use bpf_jit_binary_pack_alloc").
+
+  https://lore.kernel.org/20220703030210.pmjft7qc2eajzi6c@alap3.anarazel.de
+
+Signed-off-by: Andres Freund <andres@anarazel.de>
+Acked-by: Quentin Monnet <quentin@isovalent.com>
+Cc: Alexei Starovoitov <ast@kernel.org>
+Cc: Ben Hutchings <benh@debian.org>
+Cc: Daniel Borkmann <daniel@iogearbox.net>
+Cc: Jiri Olsa <jolsa@kernel.org>
+Cc: Quentin Monnet <quentin@isovalent.com>
+Cc: Sedat Dilek <sedat.dilek@gmail.com>
+Cc: bpf@vger.kernel.org
+Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
+Link: https://lore.kernel.org/r/20220801013834.156015-6-andres@anarazel.de
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/bpf/Makefile         | 5 ++++-
+ tools/bpf/bpf_jit_disasm.c | 5 ++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/tools/bpf/Makefile b/tools/bpf/Makefile
+index b11cfc86a3d021..664601ab1705ab 100644
+--- a/tools/bpf/Makefile
++++ b/tools/bpf/Makefile
+@@ -34,7 +34,7 @@ else
+ endif
+ 
+ FEATURE_USER = .bpf
+-FEATURE_TESTS = libbfd disassembler-four-args
++FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled
+ FEATURE_DISPLAY = libbfd disassembler-four-args
+ 
+ check_feat := 1
+@@ -56,6 +56,9 @@ endif
+ ifeq ($(feature-disassembler-four-args), 1)
+ CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
+ endif
++ifeq ($(feature-disassembler-init-styled), 1)
++CFLAGS += -DDISASM_INIT_STYLED
++endif
+ 
+ $(OUTPUT)%.yacc.c: $(srctree)/tools/bpf/%.y
+ 	$(QUIET_BISON)$(YACC) -o $@ -d $<
+diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c
+index c8ae9580472814..a90a5d110f9255 100644
+--- a/tools/bpf/bpf_jit_disasm.c
++++ b/tools/bpf/bpf_jit_disasm.c
+@@ -28,6 +28,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <limits.h>
++#include <tools/dis-asm-compat.h>
+ 
+ #define CMD_ACTION_SIZE_BUFFER		10
+ #define CMD_ACTION_READ_ALL		3
+@@ -64,7 +65,9 @@ static void get_asm_insns(uint8_t *image, size_t len, int opcodes)
+ 	assert(bfdf);
+ 	assert(bfd_check_format(bfdf, bfd_object));
+ 
+-	init_disassemble_info(&info, stdout, (fprintf_ftype) fprintf);
++	init_disassemble_info_compat(&info, stdout,
++				     (fprintf_ftype) fprintf,
++				     fprintf_styled);
+ 	info.arch = bfd_get_arch(bfdf);
+ 	info.mach = bfd_get_mach(bfdf);
+ 	info.buffer = image;
diff --git a/srcpkgs/linux-tools/patches/bpftool-binutils-2.39.patch b/srcpkgs/linux-tools/patches/bpftool-binutils-2.39.patch
new file mode 100644
index 000000000000..1e55c40011be
--- /dev/null
+++ b/srcpkgs/linux-tools/patches/bpftool-binutils-2.39.patch
@@ -0,0 +1,149 @@
+From 600b7b26c07a070d0153daa76b3806c1e52c9e00 Mon Sep 17 00:00:00 2001
+From: Andres Freund <andres@anarazel.de>
+Date: Sun, 31 Jul 2022 18:38:33 -0700
+Subject: [PATCH] tools bpftool: Fix compilation error with new binutils
+
+binutils changed the signature of init_disassemble_info(), which now causes
+compilation to fail for tools/bpf/bpftool/jit_disasm.c, e.g. on debian
+unstable.
+
+Relevant binutils commit:
+
+  https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
+
+Wire up the feature test and switch to init_disassemble_info_compat(),
+which were introduced in prior commits, fixing the compilation failure.
+
+I verified that bpftool can still disassemble bpf programs, both with an
+old and new dis-asm.h API. There are no output changes for plain and json
+formats. When comparing the output from old binutils (2.35)
+to new bintuils with the patch (upstream snapshot) there are a few output
+differences, but they are unrelated to this patch. An example hunk is:
+
+     2f:	pop    %r14
+     31:	pop    %r13
+     33:	pop    %rbx
+  -  34:	leaveq
+  -  35:	retq
+  +  34:	leave
+  +  35:	ret
+
+Signed-off-by: Andres Freund <andres@anarazel.de>
+Acked-by: Quentin Monnet <quentin@isovalent.com>
+Cc: Alexei Starovoitov <ast@kernel.org>
+Cc: Ben Hutchings <benh@debian.org>
+Cc: Jiri Olsa <jolsa@kernel.org>
+Cc: Quentin Monnet <quentin@isovalent.com>
+Cc: Sedat Dilek <sedat.dilek@gmail.com>
+Cc: bpf@vger.kernel.org
+Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
+Link: https://lore.kernel.org/r/20220801013834.156015-8-andres@anarazel.de
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/bpf/bpftool/Makefile     |  5 +++-
+ tools/bpf/bpftool/jit_disasm.c | 42 +++++++++++++++++++++++++++-------
+ 2 files changed, 38 insertions(+), 9 deletions(-)
+
+diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
+index c6d2c77d02524a..436e671b2657d4 100644
+--- a/tools/bpf/bpftool/Makefile
++++ b/tools/bpf/bpftool/Makefile
+@@ -62,7 +62,7 @@ CLANG ?= clang
+ LLVM_STRIP ?= llvm-strip
+ 
+ FEATURE_USER = .bpftool
+-FEATURE_TESTS = libbfd disassembler-four-args reallocarray zlib libcap \
++FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled reallocarray zlib libcap \
+ 	clang-bpf-co-re
+ FEATURE_DISPLAY = libbfd disassembler-four-args zlib libcap \
+ 	clang-bpf-co-re
+@@ -117,6 +117,9 @@ endif
+ ifeq ($(feature-disassembler-four-args), 1)
+ CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
+ endif
++ifeq ($(feature-disassembler-init-styled), 1)
++    CFLAGS += -DDISASM_INIT_STYLED
++endif
+ 
+ LIBS = $(LIBBPF) -lelf -lz
+ LIBS_BOOTSTRAP = $(LIBBPF_BOOTSTRAP) -lelf -lz
+diff --git a/tools/bpf/bpftool/jit_disasm.c b/tools/bpf/bpftool/jit_disasm.c
+index 24734f2249d6ec..aaf99a0168c90b 100644
+--- a/tools/bpf/bpftool/jit_disasm.c
++++ b/tools/bpf/bpftool/jit_disasm.c
+@@ -24,6 +24,7 @@
+ #include <sys/stat.h>
+ #include <limits.h>
+ #include <bpf/libbpf.h>
++#include <tools/dis-asm-compat.h>
+ 
+ #include "json_writer.h"
+ #include "main.h"
+@@ -39,15 +40,12 @@ static void get_exec_path(char *tpath, s
+ }
+ 
+ static int oper_count;
+-static int fprintf_json(void *out, const char *fmt, ...)
++static int printf_json(void *out, const char *fmt, va_list ap)
+ {
+-	va_list ap;
+ 	char *s;
+ 
+-	va_start(ap, fmt);
+ 	if (vasprintf(&s, fmt, ap) < 0)
+ 		return -1;
+-	va_end(ap);
+ 
+ 	if (!oper_count) {
+ 		int i;
+@@ -73,6 +71,32 @@ static int fprintf_json(void *out, const char *fmt, ...)
+ 	return 0;
+ }
+ 
++static int fprintf_json(void *out, const char *fmt, ...)
++{
++	va_list ap;
++	int r;
++
++	va_start(ap, fmt);
++	r = printf_json(out, fmt, ap);
++	va_end(ap);
++
++	return r;
++}
++
++static int fprintf_json_styled(void *out,
++			       enum disassembler_style style __maybe_unused,
++			       const char *fmt, ...)
++{
++	va_list ap;
++	int r;
++
++	va_start(ap, fmt);
++	r = printf_json(out, fmt, ap);
++	va_end(ap);
++
++	return r;
++}
++
+ void disasm_print_insn(unsigned char *image, ssize_t len, int opcodes,
+ 		       const char *arch, const char *disassembler_options,
+ 		       const struct btf *btf,
+@@ -99,11 +123,13 @@ void disasm_print_insn(unsigned char *image, ssize_t len, int opcodes,
+ 	assert(bfd_check_format(bfdf, bfd_object));
+ 
+ 	if (json_output)
+-		init_disassemble_info(&info, stdout,
+-				      (fprintf_ftype) fprintf_json);
++		init_disassemble_info_compat(&info, stdout,
++					     (fprintf_ftype) fprintf_json,
++					     fprintf_json_styled);
+ 	else
+-		init_disassemble_info(&info, stdout,
+-				      (fprintf_ftype) fprintf);
++		init_disassemble_info_compat(&info, stdout,
++					     (fprintf_ftype) fprintf,
++					     fprintf_styled);
+ 
+ 	/* Update architecture info for offload. */
+ 	if (arch) {
diff --git a/srcpkgs/linux-tools/patches/perf-binutils-2.39.patch b/srcpkgs/linux-tools/patches/perf-binutils-2.39.patch
new file mode 100644
index 000000000000..3484330f7286
--- /dev/null
+++ b/srcpkgs/linux-tools/patches/perf-binutils-2.39.patch
@@ -0,0 +1,114 @@
+From 83aa0120487e8bc3f231e72c460add783f71f17c Mon Sep 17 00:00:00 2001
+From: Andres Freund <andres@anarazel.de>
+Date: Sun, 31 Jul 2022 18:38:30 -0700
+Subject: [PATCH] tools perf: Fix compilation error with new binutils
+
+binutils changed the signature of init_disassemble_info(), which now causes
+compilation failures for tools/perf/util/annotate.c, e.g. on debian
+unstable.
+
+Relevant binutils commit:
+
+  https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
+
+Wire up the feature test and switch to init_disassemble_info_compat(),
+which were introduced in prior commits, fixing the compilation failure.
+
+I verified that perf can still disassemble bpf programs by using bpftrace
+under load, recording a perf trace, and then annotating the bpf "function"
+with and without the changes. With old binutils there's no change in output
+before/after this patch. When comparing the output from old binutils (2.35)
+to new bintuils with the patch (upstream snapshot) there are a few output
+differences, but they are unrelated to this patch. An example hunk is:
+
+       1.15 :   55:mov    %rbp,%rdx
+       0.00 :   58:add    $0xfffffffffffffff8,%rdx
+       0.00 :   5c:xor    %ecx,%ecx
+  -    1.03 :   5e:callq  0xffffffffe12aca3c
+  +    1.03 :   5e:call   0xffffffffe12aca3c
+       0.00 :   63:xor    %eax,%eax
+  -    2.18 :   65:leaveq
+  -    2.82 :   66:retq
+  +    2.18 :   65:leave
+  +    2.82 :   66:ret
+
+Signed-off-by: Andres Freund <andres@anarazel.de>
+Acked-by: Quentin Monnet <quentin@isovalent.com>
+Cc: Alexei Starovoitov <ast@kernel.org>
+Cc: Ben Hutchings <benh@debian.org>
+Cc: Jiri Olsa <jolsa@kernel.org>
+Cc: Sedat Dilek <sedat.dilek@gmail.com>
+Cc: bpf@vger.kernel.org
+Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
+Link: https://lore.kernel.org/r/20220801013834.156015-5-andres@anarazel.de
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/Makefile.config | 8 ++++++++
+ tools/perf/util/annotate.c | 7 ++++---
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
+index d3c254c0f5c611..23648ea54e8d3d 100644
+--- a/tools/perf/Makefile.config
++++ b/tools/perf/Makefile.config
+@@ -298,6 +298,7 @@ FEATURE_CHECK_LDFLAGS-libpython := $(PYTHON_EMBED_LDOPTS)
+ FEATURE_CHECK_LDFLAGS-libaio = -lrt
+ 
+ FEATURE_CHECK_LDFLAGS-disassembler-four-args = -lbfd -lopcodes -ldl
++FEATURE_CHECK_LDFLAGS-disassembler-init-styled = -lbfd -lopcodes -ldl
+ 
+ CORE_CFLAGS += -fno-omit-frame-pointer
+ CORE_CFLAGS += -ggdb3
+@@ -818,13 +819,16 @@ else
+   ifeq ($(feature-libbfd-liberty), 1)
+     EXTLIBS += -lbfd -lopcodes -liberty
+     FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -ldl
++    FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -ldl
+   else
+     ifeq ($(feature-libbfd-liberty-z), 1)
+       EXTLIBS += -lbfd -lopcodes -liberty -lz
+       FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -lz -ldl
++      FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -lz -ldl
+     endif
+   endif
+   $(call feature_check,disassembler-four-args)
++  $(call feature_check,disassembler-init-styled)
+ endif
+ 
+ ifeq ($(feature-libbfd-buildid), 1)
+@@ -1044,6 +1048,10 @@ ifeq ($(feature-disassembler-four-args), 1)
+     CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
+ endif
+ 
++ifeq ($(feature-disassembler-init-styled), 1)
++    CFLAGS += -DDISASM_INIT_STYLED
++endif
++
+ ifeq (${IS_64_BIT}, 1)
+   ifndef NO_PERF_READ_VDSO32
+     $(call feature_check,compile-32)
+diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
+index 82cc396ef516c4..2c6a485c3de5d9 100644
+--- a/tools/perf/util/annotate.c
++++ b/tools/perf/util/annotate.c
+@@ -1676,6 +1676,7 @@ fallback:
+ #define PACKAGE "perf"
+ #include <bfd.h>
+ #include <dis-asm.h>
++#include <tools/dis-asm-compat.h>
+ 
+ static int symbol__disassemble_bpf(struct symbol *sym,
+ 				   struct annotate_args *args)
+@@ -1762,9 +1763,9 @@ static int symbol__disassemble_bpf(struct symbol *sym,
+ 		ret = errno;
+ 		goto out;
+ 	}
+-	init_disassemble_info(&info, s,
+-			      (fprintf_ftype) fprintf);
+-
++	init_disassemble_info_compat(&info, s,
++				     (fprintf_ftype) fprintf,
++				     fprintf_styled);
+ 	info.arch = bfd_get_arch(bfdf);
+ 	info.mach = bfd_get_mach(bfdf);
+ 

From 92dd71ef0476da97d51dc0cac48690679782ed38 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Sat, 20 Aug 2022 14:45:28 -0700
Subject: [PATCH 22/48] libsasl: fix build for libtool 2.4.7

---
 srcpkgs/libsasl/template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/srcpkgs/libsasl/template b/srcpkgs/libsasl/template
index a8817042f843..a2993b39f4a1 100644
--- a/srcpkgs/libsasl/template
+++ b/srcpkgs/libsasl/template
@@ -19,6 +19,7 @@ distfiles="https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-
 checksum=26866b1549b00ffd020f188a43c258017fa1c382b3ddadd8201536f72efb05d5
 
 pre_configure() {
+	rm -f m4/ltversion.m4
 	autoreconf -fi
 }
 

From a4ffd2b364881e040dba6c6aa4a4d985593502b0 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Sat, 20 Aug 2022 15:50:08 -0700
Subject: [PATCH 23/48] subversion: fix build for libtool 2.4.7

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

diff --git a/srcpkgs/subversion/template b/srcpkgs/subversion/template
index 8ad178264942..3f1c9e254e61 100644
--- a/srcpkgs/subversion/template
+++ b/srcpkgs/subversion/template
@@ -57,7 +57,7 @@ pre_configure() {
 	else
 		configure_args+=" --with-apxs"
 	fi
-	NOCONFIGURE=1 autoreconf -fi
+	./autogen.sh --release
 }
 
 post_configure() {

From 770bb457fb39a4bff3937c6269b2e5bafb259e77 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Sat, 20 Aug 2022 15:50:38 -0700
Subject: [PATCH 24/48] subversion-kwallet-auth: fix build for libtool 2.4.7

---
 srcpkgs/subversion-kwallet-auth/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/subversion-kwallet-auth/template b/srcpkgs/subversion-kwallet-auth/template
index 12210f250d51..b4d8621456ea 100644
--- a/srcpkgs/subversion-kwallet-auth/template
+++ b/srcpkgs/subversion-kwallet-auth/template
@@ -59,7 +59,7 @@ pre_configure() {
 	else
 		configure_args+=" --with-apxs"
 	fi
-	NOCONFIGURE=1 autoreconf -fi
+	./autogen.sh --release
 }
 
 post_configure() {

From 26e56e6eb6184f99b83071494bedfe617343dcea Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Mon, 22 Aug 2022 20:07:32 -0700
Subject: [PATCH 25/48] gpgme: update to 1.18.0.

---
 common/shlibs          | 2 +-
 srcpkgs/gpgme/template | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 8b31fec0557c..3cde524d66bc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -720,7 +720,7 @@ libdconf.so.1 dconf-0.13.90_1
 libassuan.so.0 libassuan-2.0.1_1
 libgpgme.so.11 libgpgme-1.12.0_2
 libgpgmepp.so.6 gpgmepp-1.7.0_3
-libqgpgme.so.7 gpgmeqt-1.7.0_3
+libqgpgme.so.15 gpgmeqt-1.18.0_1
 libgarcon-1.so.0 garcon-0.1.12_1
 libgarcon-gtk2-1.so.0 garcon-0.4.0_1
 libgarcon-gtk3-1.so.0 garcon-0.6.1_1
diff --git a/srcpkgs/gpgme/template b/srcpkgs/gpgme/template
index 8633075a8404..b1cfd5f78657 100644
--- a/srcpkgs/gpgme/template
+++ b/srcpkgs/gpgme/template
@@ -1,7 +1,7 @@
 # Template file for 'gpgme'
 pkgname=gpgme
-version=1.15.1
-revision=2
+version=1.18.0
+revision=1
 build_style=gnu-configure
 configure_args="--enable-fd-passing
  --with-libgpg-error-prefix=$XBPS_CROSS_BASE/usr
@@ -14,7 +14,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.gnupg.org/software/gpgme/index.html"
 distfiles="https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-${version}.tar.bz2"
-checksum=eebc3c1b27f1c8979896ff361ba9bb4778b508b2496c2fc10e3775a40b1de1ad
+checksum=361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e
 
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	configure_args+=" ac_cv_sys_file_offset_bits=no"

From e9b0e2e3ceb6d4d6a87f4da9bc7f594df13c4813 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 26/48] cross-aarch64-linux-gnu: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template
index 18de21aa3ccd..bd6b23f9fb6a 100644
--- a/srcpkgs/cross-aarch64-linux-gnu/template
+++ b/srcpkgs/cross-aarch64-linux-gnu/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-aarch64-linux-gnu'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-aarch64-linux-gnu
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
@@ -17,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 67232ef6ae1310b0d53f5ab2c6bef42d429f8ee7 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 27/48] cross-aarch64-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index bb6a770afb79..427ad2c1e9cd 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
-version=0.34
-revision=4
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
@@ -14,16 +14,16 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
  23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"

From 29f05873d66d4c2362c67eed028be4ac4c7e328a Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 28/48] cross-arm-linux-gnueabi: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index a3aba72aa93a..2510ee26e789 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-arm-linux-gnueabi'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabi
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
@@ -17,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From a41d9d8133239b61637ea830f601fa3133757e8d Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 29/48] cross-arm-linux-gnueabihf: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index d9ab86cf2ecc..bd8b16e1b4c1 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-arm-linux-gnueabihf'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-arm-linux-gnueabihf
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
@@ -17,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 827ffb461282a6207a30b452500c14f72795f1bb Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 30/48] cross-arm-linux-musleabi: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 6692d891e1bd..dacfd2655216 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
-version=0.34
-revision=4
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
@@ -14,16 +14,16 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
  23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"

From a033827a57a5d1b42b52fc4c337a00a156e20c24 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 31/48] cross-arm-linux-musleabihf: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index bb62bd5ebc55..9ddd32a9f20d 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
-version=0.34
-revision=4
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
@@ -14,16 +14,16 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
  23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"

From cf54f9819da3687608a934a758d57bd2661f1369 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 32/48] cross-armv7l-linux-gnueabihf: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/template b/srcpkgs/cross-armv7l-linux-gnueabihf/template
index 30c89b6294ef..9fb00f18be3b 100644
--- a/srcpkgs/cross-armv7l-linux-gnueabihf/template
+++ b/srcpkgs/cross-armv7l-linux-gnueabihf/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-armv7l-linux-gnueabihf'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-armv7l-linux-gnueabihf
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
@@ -17,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 55d7fbb6a641056ab93728bfc3edc4b5fe4f778d Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 33/48] cross-armv7l-linux-musleabihf: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 0a588cdf1a58..2c72e75ddfe3 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
-version=0.34
-revision=4
+version=0.35
+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"
@@ -14,16 +14,16 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
  23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"

From 09c967876549b6e4a60a024910c891de953a4164 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 34/48] cross-i686-pc-linux-gnu: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-i686-pc-linux-gnu/template b/srcpkgs/cross-i686-pc-linux-gnu/template
index 263a43f7a7b8..4dc17df648b5 100644
--- a/srcpkgs/cross-i686-pc-linux-gnu/template
+++ b/srcpkgs/cross-i686-pc-linux-gnu/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-i686-pc-linux-gnu'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-i686-pc-linux-gnu
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
@@ -16,12 +16,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From a31c35c407859b32fea80acbd55b83cd26150e11 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 35/48] cross-mips-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index 9b5d5819b1a0..6009e5c79eb2 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
-version=0.34
-revision=3
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"
@@ -14,15 +14,15 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
- https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes

From 9d837a0821de256df7a1fe8742d4b6ebfc242641 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 36/48] cross-mips-linux-muslhf: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index d7590af9ec03..080164df193d 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
-version=0.34
-revision=3
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"
@@ -14,15 +14,15 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="hipperson0 <hipperson0@gmail.com>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
- https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes

From 4b6ab3c8bd554f5865d763f3417225339d9e5062 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 37/48] cross-mipsel-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 1acba7016dbc..f9fd4b8a04ef 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
-version=0.34
-revision=3
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"
@@ -14,15 +14,15 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
- https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes

From 8506ba1f5891ab4683e6b6425137f287bb6d365f Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 38/48] cross-mipsel-linux-muslhf: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index e4a55f028bc4..7418a984474b 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
-version=0.34
-revision=3
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"
@@ -14,15 +14,15 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
- https://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
+ https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes

From d2661dec44d5af5622a12ebe2850eb2690344953 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 39/48] cross-powerpc-linux-gnu: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpc-linux-gnu/template b/srcpkgs/cross-powerpc-linux-gnu/template
index b97a21d0d72e..31e57b4e52b2 100644
--- a/srcpkgs/cross-powerpc-linux-gnu/template
+++ b/srcpkgs/cross-powerpc-linux-gnu/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-powerpc-linux-gnu'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-gnu
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify"
@@ -17,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 2ca4fca8918d73c4d433ffd1fd500a51bbe63171 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:15 -0700
Subject: [PATCH 40/48] cross-powerpc-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index f9b22f0610d3..a2d1edcf1ffd 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
-version=0.34
-revision=3
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"
@@ -14,15 +14,15 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Thomas Batten <stenstorpmc@gmail.com>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes

From 55f4de635701a04f8f668e1f9dc680f47f96d362 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 41/48] cross-powerpc64-linux-gnu: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpc64-linux-gnu/template b/srcpkgs/cross-powerpc64-linux-gnu/template
index 35cfcaa6f02e..1a4cbed61e76 100644
--- a/srcpkgs/cross-powerpc64-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64-linux-gnu/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-powerpc64-linux-gnu'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpc64-linux-gnu
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
@@ -18,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 0f04b41a553c7c941e5cec1abf48688a66e78896 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 42/48] cross-powerpc64-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 1ebd0fb2048d..ade42018af05 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
-version=0.34
-revision=4
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"
@@ -15,16 +15,16 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="q66 <daniel@octaforge.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
  23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"

From ce585078fb7de85a060af8f6da4c5b2168a366af Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 43/48] cross-powerpc64le-linux-gnu: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpc64le-linux-gnu/template b/srcpkgs/cross-powerpc64le-linux-gnu/template
index 733f5851da5c..03054239001e 100644
--- a/srcpkgs/cross-powerpc64le-linux-gnu/template
+++ b/srcpkgs/cross-powerpc64le-linux-gnu/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-powerpc64le-linux-gnu'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpc64le-linux-gnu
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify --with-abi=elfv2
@@ -18,12 +18,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 5105b0613a79cd16df51be4d61a287195c14e4c5 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 44/48] cross-powerpc64le-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 76a70aa1d6db..5887f845f932 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
-version=0.34
-revision=4
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"
@@ -15,16 +15,16 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="q66 <daniel@octaforge.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
  23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"

From 546125954aa2fb35a91d0885200080c6cdae33e8 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 45/48] cross-powerpcle-linux-gnu: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpcle-linux-gnu/template b/srcpkgs/cross-powerpcle-linux-gnu/template
index 347b8fcf4f55..06530e0d609b 100644
--- a/srcpkgs/cross-powerpcle-linux-gnu/template
+++ b/srcpkgs/cross-powerpcle-linux-gnu/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-powerpcle-linux-gnu'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-gnu
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify"
@@ -17,12 +17,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 73da27f0ebacb73348e30fc7e023ab7be119fbe8 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 46/48] cross-powerpcle-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index ec9324ddaa99..e68c3962b49c 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.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
-version=0.34
-revision=3
+version=0.35
+revision=1
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"
@@ -14,15 +14,15 @@ makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="q66 <daniel@octaforge.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes

From b0ab9d28088c7fad7c18f7e8ecec571ecd20fc57 Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 47/48] cross-x86_64-linux-gnu: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-x86_64-linux-gnu/template b/srcpkgs/cross-x86_64-linux-gnu/template
index 0078fbe7224b..7da85c14b62d 100644
--- a/srcpkgs/cross-x86_64-linux-gnu/template
+++ b/srcpkgs/cross-x86_64-linux-gnu/template
@@ -1,10 +1,10 @@
 # Template file for 'cross-x86_64-linux-gnu'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
-_glibc_version=2.32
+_binutils_version=2.39
+_gcc_version=12.2.0
+_glibc_version=2.36
 _linux_version=5.10.4
 pkgname=cross-x86_64-linux-gnu
-version=0.34
+version=0.35
 revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
@@ -16,12 +16,12 @@ license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
- 1627ea54f5a1a8467032563393e0901077626dc66f37f10ee6363bb722222836
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
+ 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
 nocross=yes
 

From 4cf31305d5c2b94e42801e1766a5c292ead7d81f Mon Sep 17 00:00:00 2001
From: oreo639 <31916379+Oreo639@users.noreply.github.com>
Date: Fri, 26 Aug 2022 13:31:16 -0700
Subject: [PATCH 48/48] cross-x86_64-linux-musl: update to gcc 12.2.0.

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

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index a941e7e02f6f..2811de0d3c2e 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -1,28 +1,28 @@
 # Template file for 'cross-x86_64-linux-musl'
-_binutils_version=2.35.1
-_gcc_version=10.2.1_pre1
+_binutils_version=2.39
+_gcc_version=12.2.0
 _musl_version=1.1.24
 _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
-version=0.34
-revision=3
+version=0.35
+revision=1
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel zlib-devel gmp-devel mpfr-devel"
 depends="${pkgname}-libc-${version}_${revision}"
 short_desc="Void cross toolchain for ${pkgname/cross-}"
 maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://www.voidlinux.org/"
 license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
+homepage="https://www.voidlinux.org/"
 distfiles="
  ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
- https://dev.alpinelinux.org/~nenolod/gcc-${_gcc_version}.tar.xz
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  https://musl.libc.org/releases/musl-${_musl_version}.tar.gz
  ${KERNEL_SITE}/kernel/v5.x/linux-${_linux_version}.tar.xz
  https://github.com/kaniini/libucontext/archive/libucontext-${_libucontext_version}.tar.gz"
-checksum="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
- 772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
+checksum="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+ e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
  1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
  904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
  23714e99a87f6dea82e8a073c526325161dd65462459820b16a6162be91955bb"

  parent reply	other threads:[~2022-09-03  4:18 UTC|newest]

Thread overview: 266+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-06  6:15 [PR PATCH] gcc: update to 11.2.1git20211128 Oreo639
2022-01-26 19:41 ` dkwo
2022-01-26 22:12 ` oreo639
2022-01-26 23:16 ` oreo639
2022-01-26 23:16 ` [PR PATCH] [Updated] " oreo639
2022-01-26 23:25 ` oreo639
2022-01-26 23:25 ` oreo639
2022-02-16 21:18 ` lane-brain
2022-02-17  1:56 ` oreo639
2022-02-17  1:56 ` oreo639
2022-04-14  2:41 ` oreo639
2022-07-14  2:13 ` github-actions
2022-07-17 17:44 ` motorto
2022-07-17 17:45 ` motorto
2022-08-12 13:29 ` [PR PATCH] [Updated] " oreo639
2022-08-13  6:32 ` [PR PATCH] [Updated] gcc: update to 12.1.0 oreo639
2022-08-13  6:49 ` oreo639
2022-08-15  2:24 ` oreo639
2022-08-15  2:31 ` oreo639
2022-08-15  3:20 ` oreo639
2022-08-15  5:58 ` oreo639
2022-08-15  8:14 ` oreo639
2022-08-15  8:17 ` oreo639
2022-08-15  8:20 ` oreo639
2022-08-15  8:20 ` oreo639
2022-08-15 20:12 ` lane-brain
2022-08-15 21:48 ` [PR PATCH] [Updated] " oreo639
2022-08-16  1:01 ` oreo639
2022-08-16  1:55 ` oreo639
2022-08-18 23:23 ` oreo639
2022-08-19  0:22 ` oreo639
2022-08-19  5:51 ` oreo639
2022-08-19  5:57 ` oreo639
2022-08-19  5:58 ` oreo639
2022-08-20 18:30 ` oreo639
2022-08-21 22:46 ` oreo639
2022-08-23  3:27 ` oreo639
2022-08-23  4:02 ` oreo639
2022-08-23  6:30 ` oreo639
2022-08-23 19:37 ` oreo639
2022-08-24  5:45 ` oreo639
2022-08-24  8:04 ` oreo639
2022-08-24  8:05 ` oreo639
2022-08-24  8:06 ` oreo639
2022-08-24 11:11 ` dkwo
2022-08-24 16:56 ` dkwo
2022-08-24 19:44 ` [PR PATCH] [Updated] " oreo639
2022-08-24 20:43 ` oreo639
2022-08-24 20:52 ` oreo639
2022-08-24 23:42 ` [PR PATCH] [Updated] gcc: update to 12.2.0 oreo639
2022-08-24 23:58 ` oreo639
2022-08-25  0:00 ` oreo639
2022-08-25  2:33 ` oreo639
2022-08-25  4:02 ` oreo639
2022-08-25  9:01 ` oreo639
2022-08-25  9:03 ` oreo639
2022-08-25  9:04 ` oreo639
2022-08-25  9:04 ` oreo639
2022-08-25  9:05 ` oreo639
2022-08-25  9:48 ` dkwo
2022-08-25 21:42 ` [PR PATCH] [Updated] " oreo639
2022-08-25 23:49 ` oreo639
2022-08-25 23:52 ` oreo639
2022-08-25 23:58 ` [PR PATCH] [Updated] " oreo639
2022-08-26 10:54 ` leahneukirchen
2022-08-26 20:31 ` [PR PATCH] [Updated] " oreo639
2022-08-28 22:23 ` oreo639
2022-09-03  4:18 ` oreo639 [this message]
2022-09-03  5:51 ` oreo639
2022-09-03  5:53 ` oreo639
2022-09-06 18:52 ` oreo639
2022-09-08 12:47 ` dkwo
2022-09-08 21:54 ` [PR PATCH] [Updated] " oreo639
2022-09-08 21:55 ` oreo639
2022-09-08 22:07 ` oreo639
2022-09-09  0:26 ` oreo639
2022-09-09  0:27 ` oreo639
2022-09-09  0:29 ` oreo639
2022-09-09  5:53 ` oreo639
2022-09-09  6:01 ` [PR PATCH] [Updated] " oreo639
2022-09-10 19:28 ` oreo639
2022-09-13 22:24 ` oreo639
2022-09-14  5:37 ` oreo639
2022-09-14 10:53 ` oreo639
2022-09-15  9:13 ` xfervi
2022-09-15  9:17 ` oreo639
2022-09-15  9:20 ` oreo639
2022-09-15  9:21 ` [PR PATCH] [Updated] " oreo639
2022-09-15  9:22 ` oreo639
2022-09-15  9:24 ` oreo639
2022-09-15  9:24 ` oreo639
2022-09-15  9:26 ` oreo639
2022-09-15  9:27 ` oreo639
2022-09-15  9:30 ` oreo639
2022-09-15  9:31 ` oreo639
2022-09-15  9:31 ` oreo639
2022-09-15  9:48 ` [PR PATCH] [Updated] " oreo639
2022-09-15 18:28 ` TeusLollo
2022-09-15 18:29 ` TeusLollo
2022-09-16  4:39 ` xfervi
2022-09-16  4:40 ` xfervi
2022-09-16  4:40 ` xfervi
2022-09-16  4:41 ` xfervi
2022-09-16  4:44 ` oreo639
2022-09-16  4:50 ` oreo639
2022-09-16  4:50 ` oreo639
2022-09-16  4:56 ` oreo639
2022-09-16  5:03 ` xfervi
2022-09-16  5:05 ` oreo639
2022-09-16  5:06 ` oreo639
2022-09-16  5:08 ` oreo639
2022-09-16  5:10 ` xfervi
2022-09-16 12:40 ` xfervi
2022-09-17  3:52 ` [PR PATCH] [Updated] " oreo639
2022-09-23  1:21 ` Seltyk
2022-09-23  1:24 ` Seltyk
2022-09-23  1:39 ` Seltyk
2022-09-23  1:42 ` oreo639
2022-09-23  1:44 ` oreo639
2022-09-23  1:44 ` oreo639
2022-09-23  1:46 ` oreo639
2022-09-23  1:53 ` oreo639
2022-09-23  2:38 ` oreo639
2022-09-23  2:56 ` oreo639
2022-09-23  2:57 ` oreo639
2022-09-23 13:41 ` TeusLollo
2022-09-24  4:01 ` Seltyk
2022-09-24  4:02 ` Seltyk
2022-09-24 15:16 ` TeusLollo
2022-09-24 15:20 ` SolitudeSF
2022-09-24 15:26 ` TeusLollo
2022-09-24 17:50 ` Seltyk
2022-09-24 17:50 ` Seltyk
2022-09-24 20:04 ` oreo639
2022-09-24 20:05 ` oreo639
2022-09-24 20:59 ` TeusLollo
2022-09-25  0:11 ` oreo639
2022-09-25  0:11 ` oreo639
2022-09-25  0:12 ` oreo639
2022-09-25  0:14 ` oreo639
2022-09-25  0:14 ` oreo639
2022-09-25  0:20 ` oreo639
2022-09-25  0:52 ` TeusLollo
2022-09-25  1:33 ` [PR PATCH] [Updated] " oreo639
2022-09-26 22:46 ` JamiKettunen
2022-09-26 22:47 ` JamiKettunen
2022-09-26 22:50 ` oreo639
2022-09-26 23:03 ` JamiKettunen
2022-09-26 23:03 ` JamiKettunen
2022-10-02 23:47 ` [PR PATCH] [Updated] " oreo639
2022-10-03  2:51 ` oreo639
2022-10-03  6:26 ` oreo639
2022-10-03  6:32 ` oreo639
2022-10-04  8:43 ` oreo639
2022-10-04 10:54 ` oreo639
2022-10-04 11:02 ` oreo639
2022-10-04 11:09 ` oreo639
2022-10-04 20:04 ` paper42
2022-10-05  4:27 ` oreo639
2022-10-05  4:28 ` oreo639
2022-10-05  8:40 ` [PR PATCH] [Updated] " oreo639
2022-10-06 20:29 ` paper42
2022-10-06 21:31 ` oreo639
2022-10-06 21:36 ` oreo639
2022-10-07  9:11 ` paper42
2022-10-08  0:10 ` ayoubelmhamdi
2022-10-08  0:12 ` oreo639
2022-10-08 10:57 ` [PR REVIEW] " Duncaen
2022-10-08 19:57 ` paper42
2022-10-08 21:03 ` [PR PATCH] [Updated] " oreo639
2022-10-08 21:03 ` [PR REVIEW] " oreo639
2022-10-09  1:32 ` oreo639
2022-10-09  1:45 ` ayoubelmhamdi
2022-10-09  1:57 ` oreo639
2022-10-09  1:57 ` oreo639
2022-10-09  1:59 ` oreo639
2022-10-09  3:36 ` oreo639
2022-10-09  7:47 ` ayoubelmhamdi
2022-10-10  4:15 ` [PR PATCH] [Updated] " oreo639
2022-10-10  5:05 ` oreo639
2022-10-10  5:10 ` oreo639
2022-10-13 18:49 ` Johnnynator
2022-10-13 19:02 ` oreo639
2022-10-13 19:02 ` oreo639
2022-10-13 19:04 ` oreo639
2022-10-13 19:28 ` oreo639
2022-10-13 19:28 ` oreo639
2022-10-13 19:28 ` oreo639
2022-10-13 19:29 ` oreo639
2022-10-13 19:47 ` oreo639
2022-10-13 20:02 ` toukoAMG
2022-10-13 20:28 ` TeusLollo
2022-10-13 20:32 ` TeusLollo
2022-10-13 22:44 ` oreo639
2022-10-13 22:49 ` oreo639
2022-10-14  3:18 ` oreo639
2022-10-14  4:01 ` [PR PATCH] [Updated] " oreo639
2022-10-14  4:08 ` oreo639
2022-10-14  4:54 ` oreo639
2022-10-14  9:02 ` oreo639
2022-10-14  9:04 ` oreo639
2022-10-14  9:33 ` oreo639
2022-10-14  9:33 ` oreo639
2022-10-14 10:10 ` [PR PATCH] [Updated] " oreo639
2022-10-14 10:11 ` oreo639
2022-10-15 10:41 ` oreo639
2022-10-18  4:48 ` oreo639
2022-10-18 18:03 ` oreo639
2022-10-19  8:14 ` oreo639
2022-11-05 15:35 ` pwhite1989
2022-11-05 15:36 ` pwhite1989
2022-11-05 15:39 ` paper42
2022-11-05 18:38 ` [PR PATCH] [Updated] " oreo639
2022-11-06 15:10 ` pwhite1989
2022-11-06 15:10 ` pwhite1989
2022-11-06 15:14 ` pwhite1989
2022-11-06 18:47 ` oreo639
2022-11-06 19:33 ` [PR PATCH] [Updated] " oreo639
2022-11-08 18:27 ` oreo639
2022-11-08 19:06 ` oreo639
2022-11-14 23:45 ` kruceter
2022-11-16  1:37 ` sgn
2022-11-16  1:37 ` sgn
2022-11-16  1:57 ` kruceter
2022-11-16  2:05 ` [PR PATCH] [Updated] " oreo639
2022-11-16  2:06 ` sgn
2022-11-17  0:48 ` [PR PATCH] [Updated] " oreo639
2022-11-17  1:54 ` oreo639
2022-11-18  4:02 ` oreo639
2022-11-18 10:02 ` oreo639
2022-11-19 10:50 ` oreo639
2022-11-19 11:01 ` oreo639
2022-11-19 18:18 ` paper42
2022-11-19 20:09 ` paper42
2022-11-19 22:37 ` [PR PATCH] [Updated] " oreo639
2022-11-19 22:39 ` oreo639
2022-11-19 22:45 ` [PR PATCH] [Updated] " oreo639
2022-11-19 22:51 ` oreo639
2022-11-19 22:57 ` oreo639
2022-11-20 18:03 ` oreo639
2022-11-21 18:22 ` oreo639
2022-11-21 18:24 ` oreo639
2022-11-28 19:06 ` oreo639
2022-12-04 20:13 ` oreo639
2022-12-08 13:02 ` kenaryn
2022-12-08 13:02 ` kenaryn
2022-12-12 18:16 ` [PR PATCH] [Updated] " oreo639
2022-12-12 18:24 ` oreo639
2022-12-15 22:20 ` sug0
2022-12-17  5:52 ` [PR PATCH] [Closed]: " sgn
2022-12-20  1:23 ` lane-brain
2022-12-20  2:18 ` oreo639
2022-12-21  0:15 ` TeusLollo
2023-01-05  8:29 ` [PR REVIEW] " CameronNemo
2023-01-05  8:42 ` oreo639
2023-01-05  8:44 ` oreo639
2023-01-05  8:45 ` oreo639
2023-01-05  8:45 ` oreo639
2023-01-05  8:46 ` oreo639
2023-01-05  8:46 ` oreo639
2023-01-05  8:46 ` oreo639
2023-01-05  8:47 ` oreo639
2023-01-05  9:00 ` oreo639
2023-01-05  9:00 ` oreo639
2023-01-05  9:01 ` oreo639
2023-01-05  9:02 ` oreo639

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220903041830.IW6FDswdqstqIOvSqiUeLFSz_8NLLJd3qb4PmPcXGO8@z \
    --to=oreo639@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).