Feature #9996
use 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
History
Updated by John Levon over 1 year ago
- Related to Bug #9312: ctf: be less clever about skipping 'extern' variables declarations added
Updated by John Levon over 1 year ago
- Related to Bug #9864: DWARF->CTF enum conversion needs to be careful of sign added
Updated by Joshua M. Clulow over 1 year ago
- Related to Feature #9978: env: set gcc 7 as shadow compiler and do not run lint added
Updated by John Levon about 1 year ago
- Related to Bug #10468: __ctype_mask[EOF] has been working by accident added
Updated by John Levon about 1 year ago
- Related to Bug #10469: GCC's -faggressive-loop-optimizations is too aggressive added
Updated by John Levon about 1 year ago
- Related to Bug #10470: array over-read in has_saved_fp() added
Updated by John Levon about 1 year 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 12 months 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 10 months 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>