pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2
Date: 2013-08-21 22:32:13
Message-ID: E1VCGwn-0000Qb-S0@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2 branches.

With this optimization flag enabled, recent versions of gcc can generate
incorrect code that assumes variable-length arrays (such as oidvector)
are actually fixed-length because they're embedded in some larger struct.
The known instance of this problem was fixed in 9.2 and up by commit
8137f2c32322c624e0431fac1621e8e9315202f9 and followon work, which hides
actually-variable-length catalog fields from the compiler altogether.
And we plan to gradually convert variable-length fields to official
"flexible array member" notation over time, which should prevent this type
of bug from reappearing as gcc gets smarter. We're not going to try to
back-port those changes into older branches, though, so apply this
band-aid instead.

Andres Freund

Branch
------
REL8_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/8396d230fa489c8766ce0a9128bb0d8e5ff6667e

Modified Files
--------------
configure | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
configure.in | 3 +++
2 files changed, 54 insertions(+)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2013-08-23 21:31:41 pgsql: In locate_grouping_columns(), don't expect an exact match of Var
Previous Message Tom Lane 2013-08-21 17:38:47 pgsql: Fix hash table size estimation error in choose_hashed_distinct()

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-08-21 22:33:41 Re: Bison 3.0 updates
Previous Message Jim Nasby 2013-08-21 22:31:34 Re: Design proposal: fsync absorb linear slider