From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Jan de Visser <jan(at)de-visser(dot)net> |
Cc: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Old source code needed |
Date: | 2015-11-27 16:20:33 |
Message-ID: | 17783.1448641233@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Jan de Visser <jan(at)de-visser(dot)net> writes:
> On 2015-11-27 9:44 AM, Adrian Klaver wrote:
>> To me nonsensical would be trying to compile newer code using an old
>> compiler. What the OP did seemed to be in the realm of possibility as
>> I would think backwards compatibility kicks in.
> Well, maybe. But there's no way to *guarantee* it will work. And
> apparently it doesn't.
AFAICT, backwards compatibility is not something the gcc boys care about.
I suspect the particular complaint here is related to
Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Branch: REL9_1_STABLE Release: REL9_1_10 [649839dd9] 2013-08-21 18:31:48 -0400
Branch: REL9_0_STABLE Release: REL9_0_14 [e9e387a5b] 2013-08-21 18:31:51 -0400
Branch: REL8_4_STABLE Release: REL8_4_18 [8396d230f] 2013-08-21 18:31:54 -0400
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
though there are certainly other places that we've had to change because
newer versions of gcc broke them.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2015-11-27 16:28:28 | Re: Old source code needed |
Previous Message | Adrian Klaver | 2015-11-27 16:15:56 | Re: Problems with pg_upgrade after change of unix user running db. |