Thread: pgsql: Replace our hacked version of ax_pthread.m4 with latest upstream

pgsql: Replace our hacked version of ax_pthread.m4 with latest upstream

From
Heikki Linnakangas
Date:
Replace our hacked version of ax_pthread.m4 with latest upstream version.

Our version was different from the upstream version in that we tried to use
all possible pthread-related flags that the compiler accepts, rather than
just the first one that works. That change was made in commit
e48322a6d6cfce1ec52ab303441df329ddbc04d1, to work-around a bug affecting GCC
versions 3.2 and below (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=8888),
although we didn't realize that it was a GCC bug at the time. We hardly care
about that old GCC versions anymore, so we no longer need that workaround.

This fixes the macro for compilers that print warnings with the chosen
flags. That's pretty annoying on its own right, but it also inconspicuously
disabled thread-safety, because we refused to use any pthread-related flags
if the compiler produced warnings. Max Filippov reported that problem when
linking with uClibc and OpenSSL. The warnings-check was added because the
workaround for the GCC bug caused warnings otherwise, so it's no longer
needed either. We can just use the upstream version as is.

If you really want to compile with GCC version 3.2 or older, you can still
work-around it manually by setting PTHREAD_CFLAGS="-pthread -lpthread"
manually on the configure command line.

Backpatch to 9.5. I don't want to unnecessarily rock the boat on stable
branches, but 9.5 seems like fair game.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/ce0da6261004ac15f01c21d8b94f11af7a098243

Modified Files
--------------
aclocal.m4            |    2 +-
config/acx_pthread.m4 |  171 -------------------------
config/ax_pthread.m4  |  332 +++++++++++++++++++++++++++++++++++++++++++++++++
configure             |  310 ++++++++++++++++++++++++++++++++++++---------
configure.in          |    2 +-
5 files changed, 583 insertions(+), 234 deletions(-)