Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#20231 closed enhancement (fixed)

Blacklist GCC 4.8.x

Reported by: Jeroen Demeyer Owned by:
Priority: major Milestone: sage-7.2
Component: build: configure Keywords:
Cc: Merged in:
Authors: Jeroen Demeyer Reviewers: Frédéric Chapoton
Report Upstream: N/A Work issues:
Branch: 37defe3 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Jeroen Demeyer)

While working on #20226, I got hit by a similar problem as #14460, namely https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56982

Since this bug is supposed to be fixed upstream in GCC 4.9.0, I think the time has come to blacklist all GCC versions older than 4.9.

Change History (10)

comment:1 Changed 7 years ago by Jeroen Demeyer

Branch: u/jdemeyer/blacklist_gcc_4_8_x

comment:2 Changed 7 years ago by Jeroen Demeyer

Commit: 37defe3940307cd63a41d3d993715bba0c529c18
Status: newneeds_review

New commits:

37defe3Blacklist GCC versions 4.8.x

comment:3 Changed 7 years ago by Frédéric Chapoton

Reviewers: Frédéric Chapoton
Status: needs_reviewpositive_review

looks good to me

comment:4 Changed 7 years ago by Frédéric Chapoton

Milestone: sage-7.1sage-7.2

comment:5 Changed 7 years ago by Volker Braun

Branch: u/jdemeyer/blacklist_gcc_4_8_x37defe3940307cd63a41d3d993715bba0c529c18
Resolution: fixed
Status: positive_reviewclosed

comment:6 Changed 7 years ago by Erik Bray

Commit: 37defe3940307cd63a41d3d993715bba0c529c18

Was this announced in sage-devel? After rebasing branch I was working in on the current develop sage suddenly wants to compile gcc because of this. gcc 4.8 is the default version on Ubuntu 14.04 which is the current LTS (not counting 16.04 which hasn't quite yet been released).

It seems extreme to me to blacklist an entire compiler when there's a simple workaround (-fno-tree-dominator-opts) that can be applied only for that version. As a compromise, perhaps issue a loud warning when the workaround is used as it may affect performance, for anyone who cares. It would only need to be enabled for those modules that need it.

comment:7 in reply to:  6 Changed 7 years ago by Jeroen Demeyer

Description: modified (diff)

Replying to embray:

Was this announced in sage-devel?

No.

It seems extreme to me to blacklist an entire compiler when there's a simple workaround (-fno-tree-dominator-opts) that can be applied only for that version.

There is no simple workaround. The -fno-tree-dominator-opts workaround happens to fix one particular instance of the problem, not the problem in general. In particular, -fno-tree-dominator-opts does not fix the similar issue from #20226. I was too lazy to investigate yet another workaround for #20226.

comment:8 Changed 7 years ago by Erik Bray

Don't you think dropping support for an entire series of compiler versions that is still relatively commonly in use, without a deprecation process and without warning is a bit of a problem?

I'm sure there's a workaround in the other case too.

comment:9 Changed 7 years ago by Erik Bray

For that matter even if it -fno-tree-dominator-opts were the workaround it doesn't need to be applied to the whole module. It could be applied at the function level too. If there's some optimization that's producing incorrect code around setjmp that's not surprising but I'm sure we could see what it's doing and disable that.

comment:10 Changed 7 years ago by Jeroen Demeyer

Reverting in #20594.

Note: See TracTickets for help on using tickets.