Re: [HACKERS] Re: [COMMITTERS] pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

2015-01-21 Thread Bernd Helmle



--On 20. Januar 2015 17:15:01 +0100 Andres Freund and...@2ndquadrant.com 
wrote:



I personally think that being able to at least compile/make check old
versions a bit longer is a good idea.


+1 from me for this idea.

--
Thanks

Bernd


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Re: [COMMITTERS] pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

2015-01-21 Thread Alvaro Herrera
Bernd Helmle wrote:
 
 
 --On 20. Januar 2015 17:15:01 +0100 Andres Freund and...@2ndquadrant.com
 wrote:
 
 I personally think that being able to at least compile/make check old
 versions a bit longer is a good idea.
 
 +1 from me for this idea.

Already done yesterday :-)

Thanks,

-- 
Álvaro Herrerahttp://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


Re: [HACKERS] Re: [COMMITTERS] pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

2015-01-20 Thread Robert Haas
On Tue, Jan 20, 2015 at 10:30 AM, Alvaro Herrera
alvhe...@2ndquadrant.com wrote:
 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?

Since those branches are out of support, I am not sure what the point
is.  If we want people to be able to use those branches reasonably we
need to back-port fixes for critical security and stability issues,
not just this one thing.

But maybe I am missing something.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Re: [COMMITTERS] pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

2015-01-20 Thread Alvaro Herrera
Robert Haas wrote:

  Would anybody object to me pushing this commit to branches 8.2 and 8.3?
 
 Since those branches are out of support, I am not sure what the point
 is.  If we want people to be able to use those branches reasonably we
 need to back-port fixes for critical security and stability issues,
 not just this one thing.
 
 But maybe I am missing something.

I just want to make it easy to compile those branches with current
toolset so that I can study their behavior to suggest workarounds for
customer problems etc -- nothing more.  I am not proposing to open them
up again for support.  Of course, I can carry the patched branches
locally if there is strong opposition, but since it's harmless, I don't
see why would there be any such.  Another easy workaround is to add -O0
to CFLAGS, and I can script that easily too.

Without this patch or -O0, initdb fails with 

inicializando pg_authid ... FATAL:  wrong number of index expressions
SENTENCIA:  CREATE TRIGGER pg_sync_pg_database   AFTER INSERT OR UPDATE OR 
DELETE ON pg_database   FOR EACH STATEMENT EXECUTE PROCEDURE 
flatfile_update_trigger();


There is the additional problem that contrib/cube fails to compile, but
I don't care enough about that one:

/pgsql/source/REL8_3_STABLE/contrib/cube/cubeparse.y:61:17: error: ‘result’ 
undeclared (first use in this function)
  *((void **)result) = write_box( dim, $2, $4 );
 ^

-- 
Álvaro Herrerahttp://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


[HACKERS] Re: [COMMITTERS] pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

2015-01-20 Thread Alvaro Herrera
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 Herrerahttp://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


Re: [HACKERS] Re: [COMMITTERS] pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

2015-01-20 Thread Andres Freund
On 2015-01-20 11:10:53 -0500, Robert Haas wrote:
 On Tue, Jan 20, 2015 at 10:30 AM, Alvaro Herrera
 alvhe...@2ndquadrant.com wrote:
  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?
 
 Since those branches are out of support, I am not sure what the point
 is.  If we want people to be able to use those branches reasonably we
 need to back-port fixes for critical security and stability issues,
 not just this one thing.
 
 But maybe I am missing something.

Supporting and being able to compile and run 'make check' (which doesn't
complete = gcc 4.8) aren't the same thing though. And we e.g. try to
provide pg_dump and libpq support for older versions, which is hard to
ensure if you can't run them.

I personally think that being able to at least compile/make check old
versions a bit longer is a good idea.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, 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


Re: [HACKERS] Re: [COMMITTERS] pgsql: Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2

2015-01-20 Thread Robert Haas
On Tue, Jan 20, 2015 at 11:18 AM, Alvaro Herrera
alvhe...@2ndquadrant.com wrote:
 Robert Haas wrote:
  Would anybody object to me pushing this commit to branches 8.2 and 8.3?

 Since those branches are out of support, I am not sure what the point
 is.  If we want people to be able to use those branches reasonably we
 need to back-port fixes for critical security and stability issues,
 not just this one thing.

 But maybe I am missing something.

 I just want to make it easy to compile those branches with current
 toolset so that I can study their behavior to suggest workarounds for
 customer problems etc -- nothing more.  I am not proposing to open them
 up again for support.

Oh, I see.  Well, that doesn't bother me, then.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers