-
Notifications
You must be signed in to change notification settings - Fork 132
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 4.9.4 #1300
base: master
Are you sure you want to change the base?
GCC 4.9.4 #1300
Conversation
Unlike GCC 4.8 which requires isl 0.11.1 as a minimum, GCC 4.9 states that isl 0.12.2 is required in its install documentation.
Drop patches, they were specifically for 4.9.3. 4.9.4 was listed as unaffected. Need isl 0.12.2 to build GCC 4.9.4 Turn off optimisation to avoid compilation issues during a lengthy build. --enable-libstdcxx-time alters the C++11 ABI and shouldn't be used. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61758#c6 Allow the build itself to set the type of checking. Use the default build config & address any fallouts, rather than use a debug bootstrap. We're not building head so no need to specify disable werror. Update URLs
@@ -80,6 +61,7 @@ def pour_bottle? | |||
cxxstdlib_check :skip | |||
|
|||
def install | |||
ENV.no_optimization |
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.
Did this break in all circumstances, or did it depend on what the bootstrapping compiler was?
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.
This is the first time I've gone back to trying to compiler compilers on Tigerbrew with GCC 4.0.1 on Tiger.
Previous attempts have always started with 4.2.
I was able to build 4.4 & 4.5 on Leopard/PowerPC without issue using GCC 4.2 however the issue you ran into with the stage comparison is masked by using --with-build-config=bootstrap-debug
where as it is related to optimisation.
Homebrew/legacy-homebrew#38596
I'll be able to give a proper explanation and fix once I've done more testing.
I switched it off as 4.8 & 4.9 builds blow up late in the process and waste a very large chunk of time + I wanted to spare my PowerBook. :)
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.
I don't have a fix since I can't really ruby and what I tried didn't work, but it turns out that we always build with -Os
via the superenv & the cc
ENV wrappers. All setting no_optimization
really does is ensures that -march
is not applied. (check the log file end with .cc
for a package to see superenv performing the substitution.
Build with Apple's version of clang always results in failure at the end of 3rd stage comparison. It is not needed when building GCC with GCC. Tested by using GCC 4.7 to build.
Rather than patching it to make up for the lack of _SC_NPROCESSORS_ONLN It's an extension to C/C++ library for parallelism & vector processing, doesn't affect normal language support in GCC. https://cilkplus.github.io
Add a formula for isl 0.12.2
Unlike GCC 4.8 which requires isl 0.11.1 as a minimum, GCC 4.9 states that isl 0.12.2 is required in its install documentation.
GCC 4.9.4
Drop patches, they were specifically for 4.9.3. 4.9.4 was listed as
unaffected.
Need isl 0.12.2 to build GCC 4.9.4
Turn off optimisation to avoid compilation issues during a lengthy build.
--enable-libstdcxx-time alters the C++11 ABI and shouldn't be used. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61758#c6
Allow the build itself to set the type of checking.
Use the default build config & address any fallouts, rather than use a debug bootstrap.
We're not building head so no need to specify disable werror.
Update URLs
Tested on Tiger (G4) with GCC 4.0.1
Built on a 1.33Ghz PowerBook G4 running Tiger in 481 minutes using GCC 4.0.1
Built on a 1.8Ghz iMac G5 running Tiger in 438 minutes using GCC 4.0.1
Built on a 2Ghz c2d mac mini running Tiger in 84 minutes using GCC 4.0.1
Built on a 1.33Ghz iBook G4 running Leopard in 327 minutes using GCC 4.2
Built on a 1.8Ghz iMac G5 running Leopard in 247 minutes using GCC 4.2
Built on a mid-2009 Air running Leopard using GCC 4.2 in 89 minutes.
Built on a mid-2009 Air running Snow Leopard using GCC 4.2 in 113 minutes.
Built on late 2009 white MacBook running Lion using clang in 60something minutes.
Built on late 2009 white MacBook running Mountain Lion using clang in 67 minutes.
Built on late 2009 white MacBook running Mavericks using clang in 73 minutes.
Built on late 2009 white MacBook running Yosemite using clang in 104 minutes
--with-build-config=bootstrap-debug
(only way to get it to build)Built on a mid-2009 Air running El Capitan using clang in 112 minutes.
Marking as draft until I've done more testing beyond just Tiger