Feature #9996
closeduse GCC 7 as default primary compiler
100%
Description
Once #9978 is integrated, our default compilation settings will be using GCC 7 as a shadow compiler in addition to the officially supported GCC 4.4.4 primary compiler. This should ensure that we don't accumulate new warnings or errors that the GCC 7 compiler would catch.
The next step is to make ourselves comfortable with a switch to GCC 7 as the primary compiler, which we would use to build and ship the OS. This ticket will detail the set of tests and checks we've performed, and then cover the appropriate changes to Makefile.master
and the default illumos.sh
environment file.
Related issues
Updated by John Levon almost 5 years ago
- Related to Bug #9312: ctf: be less clever about skipping 'extern' variables declarations added
Updated by John Levon almost 5 years ago
- Related to Bug #9864: DWARF->CTF enum conversion needs to be careful of sign added
Updated by Joshua M. Clulow almost 5 years ago
- Related to Feature #9978: env: set gcc 7 as shadow compiler and do not run lint added
Updated by John Levon over 4 years ago
- Related to Bug #10468: __ctype_mask[EOF] has been working by accident added
Updated by John Levon over 4 years ago
- Related to Bug #10469: GCC's -faggressive-loop-optimizations is too aggressive added
Updated by John Levon over 4 years ago
- Related to Bug #10470: array over-read in has_saved_fp() added
Updated by John Levon over 4 years ago
I still have this on my radar, FWIW. There are a bunch of CTF fixes incoming, and the test suite there will require at least one CTF fix before it's GCC-7 friendly, so that's the current blocker.
Updated by Rich Lowe over 4 years ago
We need at the very least to run the GCC test suite in these combinations:
i386
amd64
(does anything critical or unexpected fail?)
patched i386 v. unpatched i386
patched amd64 v. unpatched amd64
(does anything fail after patching that did not before. It should not)
patched amd64 v. patched amd64 with -msave-args
(did msave-args break anything unexpectedly or inexplicably, it should not)
Updated by Electric Monk over 4 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 8123ce613394ead6c23466878120a590ddc43dec
commit 8123ce613394ead6c23466878120a590ddc43dec Author: John Levon <john.levon@joyent.com> Date: 2019-06-17T08:49:23.000Z 9996 use GCC 7 as default primary compiler Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Peter Tribble <peter.tribble@gmail.com> Approved by: Robert Mustacchi <rm@joyent.com>