-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gcc: update to 12.2.0. #34902
gcc: update to 12.2.0. #34902
Conversation
I was getting a bunch of
|
Thank you for pointing that out, fixed.
Same for all of the |
@oreo639 is there any way that I can assist this effort? |
Not that I am aware of at the moment. If the maintainers want me to make any changes they can let me know. If they want to use it as a reference for their own gcc 11.2 port, they can do so. |
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it. |
@oreo639: could you bump this so that this work isn't lost ? I will try to build on my x86_64-musl system and report back. And maybe bump to 12.1.0 ? |
4c0ca83
to
cc0fc1f
Compare
👀 🥇 |
e0a79f2
to
b4ba419
Compare
Thank you for your hard work! Looks like the patchset can be used to build a gcc 12 toolchain now. Any current blockers on the merge? |
what a nice surprise running xbps-install -Su today, thank you for all the hard work @oreo639!! |
Np. Also, thank you paper42, sgn, leahneukirchen, and Johnnynator. |
Indeed. Thanks to @oreo639 and to the rest of the gang. By the next gcc/glibc update, I hope I'll be knowledgeable enough of the xbps build system to help at least with testing/pull requests (Still too much of a newbie at distro maintenance, for now I'm mostly a bug reporter/fix identifier) |
bootstrap=yes | ||
short_desc="GNU C library" | ||
maintainer="Enno Boland <[email protected]>" | ||
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 | ||
distfiles="https://vasilek.cz/paste/glibc-${version}-${_patchver}.tar.xz" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this done?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
glibc has a release branch where patches go to including several critical ones.
https://github.com/bminor/glibc/tree/release/2.36/master
paper didn't want me to include the branch as a patch (like what debian does) since the patch is enormous.
So we generated a tarball from the release branch using make dist. (Fedora does this and Arch just uses git)
It was generated from the following commit:
bminor/glibc@0f90d62
The patchver is the output of git describe
: <ncommit>-g<commit-hash>
Where ncommit is the number of commits between the release branch and the release tag.
It was also supposed to get uploaded to https://repo-default.voidlinux.org/distfiles/ but no one has done that yet so it is still pointing to paper's server.
[ci skip]
Edit: this PR had been updated for gcc 12.2.0
There are lists of failing builds here: #39809, #39960
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.
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):
Known packages that need to be fixed/updated for glibc 2.36:
Known packages that needed to be fixed/updated for gcc12:
Needs to be fixed/updated for binutils:
ISO packages verified:
You can test the ISOs here:
https://drive.google.com/drive/folders/1ix92CYSLUP-KWjLxltdgG4e8Nu2JCY5n?usp=sharing
Testing the changes
Local build testing