Commit Graph

579 Commits

Author SHA1 Message Date
Alvaro Herrera d13f41d215 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
8137f2c323 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.
2015-01-20 12:26:20 -03:00
Tom Lane 0caf562969 Stamp 8.3.23. 2013-02-04 16:29:07 -05:00
Tom Lane 3fd03932fc Ignore libedit/libreadline while probing for standard functions.
Some versions of libedit expose bogus definitions of setproctitle(),
optreset, and perhaps other symbols that we don't want configure to pick up
on.  There was a previous report of similar problems with strlcpy(), which
we addressed in commit 59cf88da91, but the
problem has evidently grown in scope since then.  In hopes of not having to
deal with it again in future, rearrange configure's tests for supplied
functions so that we ignore libedit/libreadline except when probing
specifically for functions we expect them to provide.

Per report from Christoph Berg, though this is slightly more aggressive
than his proposed patch.
2012-12-18 16:22:43 -05:00
Tom Lane 632e7b6353 Stamp 8.3.22. 2012-12-03 15:28:41 -05:00
Tom Lane 891155af45 Stamp 8.3.21. 2012-09-19 17:58:37 -04:00
Tom Lane 3fe78ee807 Stamp 8.3.20. 2012-08-14 18:48:41 -04:00
Tom Lane 485e12fb09 Stamp 8.3.19. 2012-05-31 19:14:08 -04:00
Tom Lane 82345d87c7 Stamp 8.3.18. 2012-02-23 18:01:58 -05:00
Tom Lane aa31c350fe Use __sync_lock_test_and_set() for spinlocks on ARM, if available.
Historically we've used the SWPB instruction for TAS() on ARM, but this
is deprecated and not available on ARMv6 and later.  Instead, make use
of a GCC builtin if available.  We'll still fall back to SWPB if not,
so as not to break existing ports using older GCC versions.

Eventually we might want to try using __sync_lock_test_and_set() on some
other architectures too, but for now that seems to present only risk and
not reward.

Back-patch to all supported versions, since people might want to use any
of them on more recent ARM chips.

Martin Pitt
2012-01-07 15:39:16 -05:00
Andrew Dunstan 6f630af876 Disable excessive FP optimization by recent versions of gcc.
Suggested solution from Tom Lane. Problem discovered, probably not
for the first time, while testing the mingw-w64 32 bit compiler.

Backpatched to all live branches.
2011-12-14 17:10:21 -05:00
Tom Lane 8ec76895b7 Stamp 8.3.17. 2011-12-01 16:55:48 -05:00
Tom Lane cef46230dc Stamp 8.3.16. 2011-09-22 18:06:36 -04:00
Marc G. Fournier 0844f42d41 Tag 8.3.15. 2011-04-15 00:18:15 -03:00
Marc G. Fournier 5370e1a001 Tag 8.3.14 2011-01-27 22:24:47 -04:00
Tom Lane 9fe5a62a17 Fix up getopt() reset management so it works on recent mingw.
The mingw people don't appear to care about compatibility with non-GNU
versions of getopt, so force use of our own copy of getopt on Windows.
Also, ensure that we make use of optreset when using our own copy.

Per report from Andrew Dunstan.  Back-patch to all versions supported
on Windows.
2010-12-15 23:51:02 -05:00
Marc G. Fournier 887e57fe54 Tag 8.3.13. 2010-12-13 23:02:13 -04:00
Marc G. Fournier e32229adfa Tag 8.3.12 2010-10-01 10:36:12 -03:00
Marc G. Fournier c70af4d2fc tag 8.3.11 2010-05-14 03:27:08 +00:00
Marc G. Fournier e842325ac1 tag 8.3.10 2010-03-12 03:40:31 +00:00
Marc G. Fournier f25013104a tag 8.3.9 2009-12-10 03:02:07 +00:00
Marc G. Fournier e01fdca9f7 Tag 8.3.8 2009-09-04 00:53:29 +00:00
Marc G. Fournier c87a4d31f4 tag 8.3.7 2009-03-13 02:08:41 +00:00
Marc G. Fournier 5298d511ee tag for 8.3.6 2009-01-30 02:59:29 +00:00
Tom Lane 72a3bc4a1d Remove references to pgsql-ports and pgsql-patches mailing lists from
various documentation, since those lists are now dead/deprecated.
Point to pgsql-bugs and/or pgsql-hackers as appropriate.
2009-01-06 17:27:19 +00:00
Marc G. Fournier a06dedfc5e commit for 8.3.5 2008-10-31 02:38:34 +00:00
Peter Eisentraut 2926e1bcfb Missing space in error message 2008-10-30 12:27:42 +00:00
Marc G. Fournier 63aa5e3527 tag for 8.3.4 2008-09-19 03:04:13 +00:00
Marc G. Fournier 668396e05c tag 8.3.3 2008-06-09 00:38:40 +00:00
Marc G. Fournier 21cb67512c tag for 8.3.2 2008-06-06 03:56:39 +00:00
Tom Lane 8209e1a987 Fix broken configure test for libxslt: it was probing for xsltLibxmlVersion,
which is a global variable not a function, and so the probe failed on machines
where the linker makes a distinction (cf. Red Hat bug #444317).  Probe for
an actual function instead.
2008-04-28 22:47:11 +00:00
Marc G. Fournier fdd23cd69e update configure for 8.3.1 prior to tag 2008-03-14 03:23:22 +00:00
Tom Lane 899b9c3e04 Use -fwrapv in CFLAGS if we are using a version of gcc that accepts this flag.
This prevents compiler optimizations that assume overflow won't occur, which
breaks numerous overflow tests that we need to have working.  It is known
that gcc 4.3 causes problems and possible that 4.1 does.  Per my proposal
of some time ago and a recent report from Kris Jurka.

Backpatch as far as 8.0, which is as far as the patch conveniently goes.
7.x was pretty short of overflow tests anyway, so it may not matter there,
even assuming that anyone cares whether 7.x builds on recent gcc.
2008-03-10 21:50:23 +00:00
Tom Lane 53c64ad097 Use our own getopt() and getopt_long() on Solaris, because that platform's
versions don't handle long options the way we want.  Per Zdenek Kotala.
2008-02-24 05:22:03 +00:00
Marc G. Fournier 9e647a1387 configure tag'd 8.3.0 and built witih autoconf 2.59 2008-02-01 04:16:29 +00:00
Peter Eisentraut 79a323ab49 Change /contrib to contrib for consistency. 2008-01-24 06:23:33 +00:00
Marc G. Fournier aeeef4119e must commit after autoconf ... and yes, I used the right autoconf 2008-01-18 04:47:32 +00:00
Tom Lane 2bf121e40b Stamp release 8.3RC1.
Security: CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601
2008-01-03 21:40:12 +00:00
Bruce Momjian 9098ab9e32 Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
Bruce Momjian 670f05b07c Provide a more helpful error message when there is an autoconf version
mismatch;  backpatch.
2007-12-31 17:28:21 +00:00
Bruce Momjian 50058a5bae Provide a more helpful error message when there is an autoconf version
mismatch.  Batckpatch to 8.2.X.
2007-12-31 16:47:10 +00:00
Tom Lane 01434d41d4 Stamp 8.3beta4. 2007-12-03 00:11:01 +00:00
Peter Eisentraut 3f398e4a27 Require a specific Autoconf version, instead of a lower bound only. 2007-11-26 12:31:07 +00:00
Marc G. Fournier 2a174e45dd update files for beta3 2007-11-16 04:29:45 +00:00
Tom Lane 1ef648cfbc I find that an out-of-the-box installation of OSSP uuid 1.6.0 installs
itself as libuuid, not libossp-uuid which was the only case expected by
our build support.  Install a configure test to determine which name
to use (and to check that the library is present at all).
2007-11-13 00:13:19 +00:00
Bruce Momjian c1a03bee08 Document that configure option only affects contrib:
--with-ossp-uuid        use OSSP UUID library when building /contrib/uuid-ossp
2007-11-05 17:43:20 +00:00
Bruce Momjian f96e1e0faa Update wording for xsl configure option. 2007-11-04 18:53:39 +00:00
Bruce Momjian ede83e04aa Document that configure --with-libxslt controls just /contrib/xml2.
Nikolay Samokhvalov
2007-11-04 18:10:42 +00:00
Magnus Hagander 6f14effbf9 New versions of mingw have gettimeofday(), so add an autoconf test
for this.
2007-10-29 11:25:42 +00:00
Tom Lane 5b5a70aedf Stamp 8.3beta2. 2007-10-27 00:22:42 +00:00
Tom Lane 07d0a370c1 Make configure probe for the location of the <uuid.h> header file.
Needed to accommodate different layout on some platforms (Debian for
one).  Heikki Linnakangas
2007-10-23 21:38:16 +00:00