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.1.0 [ci skip] Edit: this PR had been updated for gcc 12.1.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 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 #### Testing the changes - I tested the changes in this PR: **briefly** #### 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