Commit Graph

669 Commits

Author SHA1 Message Date
Tom Lane 9a42e8514f Stamp 9.0.23. 2015-10-05 15:19:44 -04:00
Noah Misch cdf596b1ce AIX: Test the -qlonglong option before use.
xlc provides "long long" unconditionally at C99-compatible language
levels, and this option provokes a warning.  The warning interferes with
"configure" tests that fail in response to any warning.  Notably, before
commit 85a2a8903f, it interfered with the
test for -qnoansialias.  Back-patch to 9.0 (all supported versions).
2015-07-17 03:02:46 -04:00
Tom Lane 29ff43adfb Make numeric form of PG version number readily available in Makefiles.
Expose PG_VERSION_NUM (e.g., "90600") as a Make variable; but for
consistency with the other Make variables holding similar info,
call the variable just VERSION_NUM not PG_VERSION_NUM.

There was some discussion of making this value available as a pg_config
value as well.  However, that would entail substantially more work than
this two-line patch.  Given that there was not exactly universal consensus
that we need this at all, let's just do a minimal amount of work for now.

Back-patch of commit a5d489ccb7, so that this
variable is actually useful for its intended purpose sometime before 2020.

Michael Paquier, reviewed by Pavel Stehule
2015-07-05 12:01:02 -04:00
Alvaro Herrera b185c42c16 Test -lrt for sched_yield
Apparently, this is needed in some Solaris versions.

Author: Oskari Saarenmaa
2015-06-30 14:20:37 -03:00
Tom Lane d7e68682fa Stamp 9.0.22. 2015-06-09 15:36:16 -04:00
Tom Lane b6ba1d7577 Stamp 9.0.21. 2015-06-01 15:14:19 -04:00
Tom Lane 730912f9a3 Stamp 9.0.20. 2015-05-18 14:38:36 -04:00
Tom Lane 8c15a7163c Stamp 9.0.19. 2015-02-02 15:46:01 -05:00
Noah Misch 2e4946169d On Darwin, detect and report a multithreaded postmaster.
Darwin --enable-nls builds use a substitute setlocale() that may start a
thread.  Buildfarm member orangutan experienced BackendList corruption
on account of different postmaster threads executing signal handlers
simultaneously.  Furthermore, a multithreaded postmaster risks undefined
behavior from sigprocmask() and fork().  Emit LOG messages about the
problem and its workaround.  Back-patch to 9.0 (all supported versions).
2015-01-07 22:46:20 -05:00
Noah Misch 4c6d0abde9 Diagnose incompatible OpenLDAP versions during build and test.
With OpenLDAP versions 2.4.24 through 2.4.31, inclusive, PostgreSQL
backends can crash at exit.  Raise a warning during "configure" based on
the compile-time OpenLDAP version number, and test the crash scenario in
the dblink test suite.  Back-patch to 9.0 (all supported versions).
2014-07-22 11:02:25 -04:00
Tom Lane 391aa8aac1 Stamp 9.0.18. 2014-07-21 15:16:01 -04:00
Noah Misch 52c37346aa Add mkdtemp() to libpgport.
This function is pervasive on free software operating systems; import
NetBSD's implementation.  Back-patch to 8.4, like the commit that will
harness it.
2014-06-14 09:41:18 -04:00
Tom Lane 192856b1b9 Stamp 9.0.17. 2014-03-17 15:38:14 -04:00
Tom Lane de02167f63 Stamp 9.0.16. 2014-02-17 14:42:21 -05:00
Tom Lane ad670a5d73 Stamp 9.0.15. 2013-12-02 16:04:20 -05:00
Peter Eisentraut a65e6c8217 Stamp 9.0.14. 2013-10-07 23:12:23 -04:00
Tom Lane e9e387a5b1 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
2013-08-21 18:31:51 -04:00
Tom Lane a941e89a38 Stamp 9.0.13. 2013-04-01 14:25:34 -04:00
Tom Lane 3da04a0bb1 Stamp 9.0.12. 2013-02-04 16:28:41 -05:00
Tom Lane e5e8ad3df5 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:24:01 -05:00
Tom Lane 6fa51d4ba7 Stamp 9.0.11. 2012-12-03 15:22:30 -05:00
Tom Lane 22cdae947b Stamp 9.0.10. 2012-09-19 17:53:08 -04:00
Tom Lane 3b849dbf41 Stamp 9.0.9. 2012-08-14 18:43:20 -04:00
Tom Lane eab246d75f Stamp 9.0.8. 2012-05-31 19:09:35 -04:00
Tom Lane f054f631a0 Stamp 9.0.7. 2012-02-23 17:56:26 -05:00
Tom Lane bb65cb8cdf 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:05 -05:00
Andrew Dunstan 517462faf0 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:13:01 -05:00
Tom Lane 1c635b03c1 Stamp 9.0.6. 2011-12-01 16:49:59 -05:00
Tom Lane 8522403c5c Stamp 9.0.5. 2011-09-22 18:00:48 -04:00
Marc G. Fournier ffb39e1aed Tag 9.0.4. 2011-04-15 00:15:53 -03:00
Marc G. Fournier 2fb64d8570 Tag 9.0.3 2011-01-27 22:21:31 -04:00
Tom Lane 770bddc1b4 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:50:49 -05:00
Marc G. Fournier 178ca03f1c Tag 9.0.2. 2010-12-13 22:55:50 -04:00
Marc G. Fournier fd51c16ce9 Tag 9.0.1 2010-10-01 10:28:42 -03:00
Marc G. Fournier 861861edcc tag v9.0.0 ... the big day approaches 2010-09-17 01:18:41 +00:00
Marc G. Fournier ee48d27e34 tag rc1 ... final stretch ... 2010-08-27 03:04:41 +00:00
Marc G. Fournier 5f3c54a3a6 tag for beta4 2010-07-30 03:31:41 +00:00
Marc G. Fournier 1084f31770 tag beta3 2010-07-09 02:43:12 +00:00
Tom Lane 291a957745 Split the LDFLAGS make variable into two parts: LDFLAGS is now used for
linking both executables and shared libraries, and we add on LDFLAGS_EX when
linking executables or LDFLAGS_SL when linking shared libraries.  This
provides a significantly cleaner way of dealing with link-time switches than
the former behavior.  Also, make sure that the various platform-specific
%.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that
before.  (I did not add these variables for the platforms that invoke $(LD)
directly, however.  It's not clear if we can do that safely, since for the
most part we assume these variables use CC command-line syntax.)

Per gripe from Aaron Swenson and subsequent investigation.
2010-07-05 18:54:38 +00:00
Marc G. Fournier dcd52a64bd tag 9.0beta2 2010-06-04 07:28:30 +00:00
Michael Meskes 29259531c7 Replace self written 'long long int' configure test by standard 'AC_TYPE_LONG_LONG_INT' macro call. 2010-05-25 17:28:20 +00:00
Michael Meskes 555a02f910 Added a configure test for "long long" datatypes. So far this is only used in ecpg and replaces the old test that was kind of hackish. 2010-05-25 14:32:55 +00:00
Tom Lane 382ff21203 Fix up lame idea of not using autoconf to determine if platform has scandir().
Should fix buildfarm failures.
2010-05-13 22:07:43 +00:00
Marc G. Fournier f9d9b2b34a tag for 9.0beta1 2010-04-30 03:16:58 +00:00
Peter Eisentraut 2f6cf9192c Revert version stamping in wrong branch 2010-02-19 18:42:30 +00:00
Peter Eisentraut a779afb40c Version stamp 9.0alpha4 2010-02-19 16:03:22 +00:00
Tom Lane 50a90fac40 Stamp HEAD as 9.0devel, and update various places that were referring to 8.5
(hope I got 'em all).  Per discussion, this release will be 9.0 not 8.5.
2010-02-17 04:19:41 +00:00
Tom Lane e08ab7c312 Support inlining various small performance-critical functions on non-GCC
compilers, by applying a configure check to see if the compiler will accept
an unreferenced "static inline foo ..." function without warnings.  It is
believed that such warnings are the only reason not to declare inlined
functions in headers, if the compiler understands "inline" at all.

Kurt Harriman
2010-02-13 02:34:16 +00:00
Tom Lane a6c75be23d Re-order configure tests to reflect the fact that the code generated for
posix_fadvise and other file-related functions can depend on _LARGEFILE_SOURCE
and/or _FILE_OFFSET_BITS.  Per report from Robert Treat.

Back-patch to 8.4.  This has been wrong all along, but we weren't really using
posix_fadvise in anger before, and AC_FUNC_FSEEKO seems to mask the issue well
enough for that function.
2010-01-16 19:50:26 +00:00
Tom Lane c7f08913ba Fail in a nicer way if we have --with-perl and no Perl. 2010-01-07 03:24:57 +00:00