]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2 branches. REL8_3_STABLE github/REL8_3_STABLE
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 20 Jan 2015 15:26:20 +0000 (12:26 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 20 Jan 2015 15:26:20 +0000 (12:26 -0300)
commitd13f41d2153890bf817451c152a83d2867e61199
treed41bb8199f0ea0741c4ea65cd23338326d852651
parent1b7f5168c5ebf232366f455a792c9d269308c9ba
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

This is a backpatch of commit 649839dd9 to unsupported branches
REL8_2_STABLE and REL8_3_STABLE, so that they work with newer toolsets.
configure
configure.in