Tom Lane wrote: > 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.
Would anybody object to me pushing this commit to branches 8.2 and 8.3? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, 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