-
Notifications
You must be signed in to change notification settings - Fork 558
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
0_Rootfs: Add GCC 14 #10132
base: master
Are you sure you want to change the base?
0_Rootfs: Add GCC 14 #10132
Conversation
I'm looking for comments on these changes. If they look fine I can generate and deploy the artifacts. |
Have you looked through the patches to see which are already upstream and included in the GCC 14 release? I know for sure that you need to drop the |
There is a gazillion patches which don't apply any more. Since most are applied via I assume that's only GCC patches you're talking about, not anything related to binutils or glibc? |
IMO, when adding a new GCC version we should verify all the patches are either being applied or are no longer needed and dropped. Keeping a lot of old patches that don't apply present in the new GCC's directory clutters things up. |
This is GCC 14.2. Is that the version we're going to use? |
Agreed, I don't like the |
It's impossible to avoid. There are too many combinations of (GCC, glibc, binutils, architecture), and who knows which patches are necessary for what combination. So far, the patches are separated by GCC version only. We could separate them by binutils and glibc version as well, but that might not cover all the cases. (For example, the configure flags necessary for glibc 2.17 depend on the GCC version.) Furthermore, I don't think anyone has tried to re-build an older GCC version in a long time, so I'd assume that's all bit-rotted away. |
I haven't tried very recently, but the build scripts are surprisingly somewhat robust. For the benefit of future readers (myself included) what was the problem with JuliaPackaging/BinaryBuilderBase.jl#398 (comment)? |
I added this comment to explain:
|
JuliaPackaging/BinaryBuilderBase.jl#318 rebuilt gcc 4-12 for |
I also rebuilt GCC 11-12 to fix headers and GCC 11-13 for the new Mingw version in January and it worked with no hiccups: #8005 |
# setting, glibc will build C versions of these files instead. | ||
GLIBC_CONFIGURE_OVERRIDES+=( CXX=false ) | ||
|
||
# These flags are necessary for GCC 14. GCC 14 defaults to a |
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.
Should this be guarded by an if based on the gcc version?
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.
Good idea.
I see this error while building for
What's the likely fix? Update to a newer macOS SDK? Or try a different binutils? |
Cctools more than binutils: Yggdrasil/0_RootFS/gcc_sources.jl Lines 158 to 164 in 51880c6
|
Why is there no |
For that architecture we build a fork of GCC: https://github.com/iains/gcc-darwin-arm64/. Upstream GCC still doesn't support it, I think. |
I'm giving up on building GCC 14 for |
Closes JuliaPackaging/BinaryBuilderBase.jl#398