https://github.com/postgres/postgres
Revision 105f3ef492abd22985321b64e8f40e58f3a15a83 authored by Alvaro Herrera on 20 January 2015, 15:26:20 UTC, committed by Alvaro Herrera on 20 January 2015, 15:26:20 UTC
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.
1 parent 91a1e14
History
Tip revision: 105f3ef492abd22985321b64e8f40e58f3a15a83 authored by Alvaro Herrera on 20 January 2015, 15:26:20 UTC
Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2 branches.
Tip revision: 105f3ef
File Mode Size
config
contrib
doc
src
.gitignore -rw-r--r-- 233 bytes
COPYRIGHT -rw-r--r-- 1.2 KB
GNUmakefile.in -rw-r--r-- 3.8 KB
Makefile -rw-r--r-- 1.4 KB
README -rw-r--r-- 2.0 KB
README.git -rw-r--r-- 820 bytes
aclocal.m4 -rw-r--r-- 445 bytes
configure -rwxr-xr-x 696.2 KB
configure.in -rw-r--r-- 47.5 KB

README

back to top