pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2
| От | Alvaro Herrera |
|---|---|
| Тема | pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2 |
| Дата | |
| Msg-id | E1YDcPo-00042r-DI@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 This is a backpatch of commit 649839dd9 to unsupported branches REL8_2_STABLE and REL8_3_STABLE, so that they work with newer toolsets. Branch ------ REL8_3_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/d13f41d2153890bf817451c152a83d2867e61199 Modified Files -------------- configure | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ configure.in | 3 +++ 2 files changed, 54 insertions(+)
В списке pgsql-committers по дате отправления: