1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-17 06:41:09 +03:00
Commit Graph

718 Commits

Author SHA1 Message Date
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
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
391aa8aac1 Stamp 9.0.18. 2014-07-21 15:16:01 -04:00
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
d23bf2e6c8 Accept tcl 8.6 in configure's probe for tclsh.
Usually the search would find plain "tclsh" without any trouble,
but some installations might only have the version-numbered flavor
of that program.

No compatibility problems have been reported with 8.6, so we might
as well back-patch this to all active branches.

Christoph Berg
2014-05-10 10:48:14 -04:00
9174c77f86 Fix "quiet inline" configure test for newer clang compilers.
This test used to just define an unused static inline function and check
whether that causes a warning.  But newer clang versions warn about
unused static inline functions when defined inside a .c file, but not
when defined in an included header, which is the case we care about.
Change the test to cope.

Andres Freund
2014-05-02 15:30:44 -04:00
192856b1b9 Stamp 9.0.17. 2014-03-17 15:38:14 -04:00
de02167f63 Stamp 9.0.16. 2014-02-17 14:42:21 -05:00
ad670a5d73 Stamp 9.0.15. 2013-12-02 16:04:20 -05:00
a65e6c8217 Stamp 9.0.14. 2013-10-07 23:12:23 -04:00
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
a941e89a38 Stamp 9.0.13. 2013-04-01 14:25:34 -04:00
3da04a0bb1 Stamp 9.0.12. 2013-02-04 16:28:41 -05:00
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
6fa51d4ba7 Stamp 9.0.11. 2012-12-03 15:22:30 -05:00
22cdae947b Stamp 9.0.10. 2012-09-19 17:53:08 -04:00
3b849dbf41 Stamp 9.0.9. 2012-08-14 18:43:20 -04:00
eab246d75f Stamp 9.0.8. 2012-05-31 19:09:35 -04:00
f054f631a0 Stamp 9.0.7. 2012-02-23 17:56:26 -05:00
29f65a844b Don't reject threaded Python on FreeBSD.
According to Chris Rees, this has worked for awhile, and the current
FreeBSD port is removing the test anyway.
2012-02-20 16:21:41 -05:00
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
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
1c635b03c1 Stamp 9.0.6. 2011-12-01 16:49:59 -05:00
8522403c5c Stamp 9.0.5. 2011-09-22 18:00:48 -04:00
ffb39e1aed Tag 9.0.4. 2011-04-15 00:15:53 -03:00
2ea865de56 Backport changes to allow building with MinGW 64 bit compiler.
These changes have been in HEAD for some time with no ill effect. They
are only being backported to 9.0, as the required WINNT version was not
high enough before that.
2011-04-09 17:59:27 -04:00
2fb64d8570 Tag 9.0.3 2011-01-27 22:21:31 -04:00
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
178ca03f1c Tag 9.0.2. 2010-12-13 22:55:50 -04:00
fd51c16ce9 Tag 9.0.1 2010-10-01 10:28:42 -03:00
5074f68848 Fix remaining stray references to CVS.
These are just cosmetic and don't seem worth back-patching far.
I put them into 9.0 just because it was trivial to do so.
2010-09-22 19:51:46 -04:00
861861edcc tag v9.0.0 ... the big day approaches 2010-09-17 01:18:41 +00:00
ee48d27e34 tag rc1 ... final stretch ... 2010-08-27 03:04:41 +00:00
5f3c54a3a6 tag for beta4 2010-07-30 03:31:41 +00:00
1084f31770 tag beta3 2010-07-09 02:43:12 +00:00
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
dcd52a64bd tag 9.0beta2 2010-06-04 07:28:30 +00:00
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
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
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
f9d9b2b34a tag for 9.0beta1 2010-04-30 03:16:58 +00:00
7e8a60b7c5 Don't link PL/Python against LOCALMODLIBS
This variable is apparently only for Python internally.  In newer releases
of Python this variable pulls in more and more libraries that users are
less likely to have, leading to potential build failures.
2010-03-17 22:02:44 +00:00
dc43e2f540 Fix configure's regexp for extracting the Perl version number from perl -v
output.  Per bug #5339, Perl 5.11 has changed the format of that output
enough to break the previous coding.

Alex Hunsaker
2010-02-23 18:35:07 +00:00
b4689bfb00 Revert configure warning to use "official distribution". 2010-02-22 21:16:50 +00:00
6a0b6421e2 Use the term "bundled distribution" instead of "official distribution" in
configure warnings.
2010-02-22 18:02:06 +00:00
2f6cf9192c Revert version stamping in wrong branch 2010-02-19 18:42:30 +00:00
a779afb40c Version stamp 9.0alpha4 2010-02-19 16:03:22 +00:00
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
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
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