[MacPorts] #60356: MacPorts gcc 9.3.0 internal compiler error: Segmentation fault: 11 - not seen with Homebrew gcc 9.3.0
MacPorts
noreply at macports.org
Wed Apr 15 19:53:47 UTC 2020
#60356: MacPorts gcc 9.3.0 internal compiler error: Segmentation fault: 11 - not
seen with Homebrew gcc 9.3.0
----------------------------+--------------------
Reporter: attiliodefalco | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port:
----------------------------+--------------------
The following code fails to compile with MacPorts gcc 9.3.0 but not
Homebrew gcc 9.3.0
{{{
#include <math.h>
double vec_dist ()
{double r=0;
return sqrt(r);
}
}}}
And compile with:
gcc -O2 -ffast-math -c test.c
The output is:
{{{
test.c: In function 'vec_dist':
test.c:6:1: internal compiler error: Segmentation fault: 11
}
^
test.c:6:1: internal compiler error: Abort trap: 6
gcc: internal compiler error: Abort trap: 6 (program cc1)
}}}
This reproduces on my 4-year old laptop, but not my 5-year old mini.
Both are currently running 10.15.4 (usually the mini runs betas) and
have gcc 9.3.0 from MacPorts. On the laptop, this segfaults the
compiler when compiled with '-O2 -ffastmath':
extern double sqrt(double);
double mad_vec_dist () { double r=0; return sqrt(r); }
(note that I removed the include of math.h). Changing sqrt() to sin()
also segfaults. However, this compiles fine:
extern double trqs(double);
double vec_dist () { double r=0; return trqs(r); }
and the ones that segfault the compiler don't segfault if I add the
'-fno-builtin' flag--so it's something about the optimization of the
builtin math functions that are enabled by -ffastmath. This is
likely actually a bug in the upstream gcc but I don't see the segfault
with Homebrew gcc 9.3 (or even on CentOS 7 gcc 9.3).
Please let me know if I should notify GNU, as well.
Thanks!
Attilio
--
Ticket URL: <https://trac.macports.org/ticket/60356>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list