anchovy failing on 9.1 and earlier since using gcc 4.8
Hi,
Anchovy is failing on 9.1 and earlier for quite some time now:
http://pgbuildfarm.org/cgi-bin/show_history.pl?nm=anchovy&br=REL9_1_STABLE
The commit at that date looks rather unconspicuous. Looking at the
'config' section reveals the difference between the failing
http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=anchovy&dt=2013-03-31%2023%3A23%3A01
and
http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=anchovy&dt=2013-03-30%2000%3A23%3A01
2013-03-30: config:
configure:3244: checking for C compiler version
configure:3252: gcc --version >&5
gcc (GCC) 4.7.2
2013-03-31: config:
configure:3244: checking for C compiler version
configure:3252: gcc --version >&5
gcc (GCC) 4.8.0
(note that it's using 4.8.1 these days)
So, it started failing the day it switched to gcc 4.8.
Given that anchovy builds 9.2 and master happily and given that it is
the only gcc-4.8 animal in the buildfarm it seems quite possible that
there is some misoptimization issue in 9.1 and earlier with 4.8.
I seem to recall some discussions about whether to backpatch some
hardening against compiler optimizations, but I don't remember any
specifics.
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On 2013-07-23 09:11:00 +0200, Andres Freund wrote:
Hi,
Anchovy is failing on 9.1 and earlier for quite some time now:
http://pgbuildfarm.org/cgi-bin/show_history.pl?nm=anchovy&br=REL9_1_STABLE
The commit at that date looks rather unconspicuous. Looking at the
'config' section reveals the difference between the failing
http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=anchovy&dt=2013-03-31%2023%3A23%3A01
and
http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=anchovy&dt=2013-03-30%2000%3A23%3A012013-03-30: config:
configure:3244: checking for C compiler version
configure:3252: gcc --version >&5
gcc (GCC) 4.7.22013-03-31: config:
configure:3244: checking for C compiler version
configure:3252: gcc --version >&5
gcc (GCC) 4.8.0(note that it's using 4.8.1 these days)
So, it started failing the day it switched to gcc 4.8.
Given that anchovy builds 9.2 and master happily and given that it is
the only gcc-4.8 animal in the buildfarm it seems quite possible that
there is some misoptimization issue in 9.1 and earlier with 4.8.I seem to recall some discussions about whether to backpatch some
hardening against compiler optimizations, but I don't remember any
specifics.
Ah, yes. Exactly this case has been discussed some weeks ago:
http://archives.postgresql.org/message-id/14242.1365200084%40sss.pgh.pa.us
I'd personally vote for doing both (1) and (2) mentioned in that email
in the backbranches. I don't think -fno-agressive-loop-optimizations is
the only case the compiler can actually use such knowledge. It very well
might optimize entire code blocks away.
And I don't think this change is the only one where the aggressive loop
optimizations might play a role, especially in the older branches.
I naturally only found the mailing list entry after debugging the issue
myself...
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers