-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
[WIP] Switch to gcc 5 #7807
[WIP] Switch to gcc 5 #7807
Conversation
I don't think we should switch to GCC 5 at this point. It seems way too early. I mean, it was released two weeks ago... |
Any reason I can't start testing? |
Jobset here http://hydra.nixos.org/jobset/nixpkgs/gcc-5 |
I'd rather spend hydra.nixos.org resources testing 4.9. Unfortunately it's pretty overloaded lately :-( |
That seems strange to me. It's one thing if we find seriously insurmountable problems with gcc 5, but if we're taking the hit of a gcc upgrade anyway why not get the ABI issues over with and get the benefit of all the new features and bug fixes? |
With GCC 5 you also get the "benefit" of all the new bugs :-) GCC 4.9 has been out for a year, so it's likely to be more stable than 5.1, and most package breakage will have been fixed in the meantime. It also doesn't involve an ABI change so it should be a fairly uncomplicated update. But I just noticed you're using |
OK, cool. Any way the community can contribute to more disk space? |
The C++ ABI change shouldn't be a problem, IMHO. As explained, the old ABI is kept with the old linking names, and a new one is added. You choose by #defining a macro, so we could even make it use the old ABI by default, but I don't see a reason for that. In the docs on changes for both 4.9 and 5, I don't see anything likely to cause larger problems, but OTOH undiscovered-bug potential seems hard to predict. |
Libstdc++ may be dual-ABI, but that doesn't apply to other packages. So if you have a package that requires GCC 4, you need to build a separate copy of every C++ dependency (like Boost) with the old ABI. |
Yes, we will either need to drop support for old gcc versions or force th old ABI everywhere |
ATM I can only see three packages referring gcc older than our current (4.8), so the possibility of many packages needing dual build seems very unlikely to me. |
b9c1b5b
to
7ebf9ed
Compare
f5a0c1c
to
2944f33
Compare
gcc-5 defaults to gnu11, which uses newer (c99) inline semantics. See https://gcc.gnu.org/gcc-5/porting_to.html for details
gcc-5 defaults to gnu11, which uses newer (c99) inline semantics. See https://gcc.gnu.org/gcc-5/porting_to.html for details
GCC 5 is now in staging (dd53c65). |
No description provided.