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

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2
Дата
Msg-id E1VCGwn-0000QY-Qb@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
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
------
REL9_0_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/e9e387a5b1dde0b738d712cffe16c962e87b0094

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


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix hash table size estimation error in choose_hashed_distinct()
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2