Project

General

Profile

Feature #9996

use GCC 7 as default primary compiler

Added by Joshua Clulow 7 months ago. Updated 9 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
tools - gate/build tools
Start date:
2018-11-21
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

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

Related to illumos gate - Bug #9312: ctf: be less clever about skipping 'extern' variables declarationsClosed2018-03-19

Actions
Related to illumos gate - Bug #9864: DWARF->CTF enum conversion needs to be careful of signClosed2018-10-03

Actions
Related to illumos gate - Feature #9978: env: set gcc 7 as shadow compiler and do not run lintClosed2018-11-13

Actions
Related to illumos gate - Bug #10468: __ctype_mask[EOF] has been working by accidentClosed2019-02-27

Actions
Related to illumos gate - Bug #10469: GCC's -faggressive-loop-optimizations is too aggressiveClosed2019-02-27

Actions
Related to illumos gate - Bug #10470: array over-read in has_saved_fp()Closed2019-02-27

Actions

History

#1

Updated by John Levon 7 months ago

  • Related to Bug #9312: ctf: be less clever about skipping 'extern' variables declarations added
#2

Updated by John Levon 7 months ago

  • Related to Bug #9864: DWARF->CTF enum conversion needs to be careful of sign added
#3

Updated by Joshua Clulow 7 months ago

  • Related to Feature #9978: env: set gcc 7 as shadow compiler and do not run lint added
#4

Updated by John Levon 4 months ago

  • Related to Bug #10468: __ctype_mask[EOF] has been working by accident added
#5

Updated by John Levon 4 months ago

  • Related to Bug #10469: GCC's -faggressive-loop-optimizations is too aggressive added
#6

Updated by John Levon 4 months ago

  • Related to Bug #10470: array over-read in has_saved_fp() added
#7

Updated by John Levon 3 months 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.

#8

Updated by Rich Lowe 2 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)

#9

Updated by John Levon 15 days ago

  • Assignee set to John Levon
#10

Updated by Electric Monk 9 days 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>

Also available in: Atom PDF