summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-07-24 12:16:39 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2021-07-24 12:16:39 -0400
commit76fa3db33654e543b5c796e28c6fc5b505a19c2a (patch)
treeccda453eb2844a387678081963a2faaf52f2ce1b /configure
parent678f5448c2d86976a98b402ef14482a8ba3b159b (diff)
downloadpostgresql-76fa3db33654e543b5c796e28c6fc5b505a19c2a.tar.gz
Remove configure-time thread safety checking (thread_test.c).
This testing was useful when it was written, nigh twenty years ago, but it seems fairly pointless for any platform built in the last dozen or more years. (Compare also the comments at 8a2121185.) Also we now have reports that the test program itself fails under ThreadSanitizer. Rather than invest effort in fixing it, let's just drop it, and assume that the few people who still care already know they need to use --disable-thread-safety. Back-patch into v14, for consistency with 8a2121185. Discussion: https://postgr.es/m/CADhDkKzPSiNvA3Hyq+wSR_icuPmazG0cFe=YnC3U-CFcYLc8Xw@mail.gmail.com
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure194
1 files changed, 42 insertions, 152 deletions
diff --git a/configure b/configure
index c85eb1bf55..7542fe30a1 100755
--- a/configure
+++ b/configure
@@ -11939,10 +11939,10 @@ if test "$ac_res" != no; then :
fi
-# Required for thread_test.c on Solaris
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
-$as_echo_n "checking for library containing sched_yield... " >&6; }
-if ${ac_cv_search_sched_yield+:} false; then :
+# Cygwin:
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing shmget" >&5
+$as_echo_n "checking for library containing shmget... " >&6; }
+if ${ac_cv_search_shmget+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -11955,16 +11955,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
-char sched_yield ();
+char shmget ();
int
main ()
{
-return sched_yield ();
+return shmget ();
;
return 0;
}
_ACEOF
-for ac_lib in '' rt; do
+for ac_lib in '' cygipc; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -11972,35 +11972,34 @@ for ac_lib in '' rt; do
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_sched_yield=$ac_res
+ ac_cv_search_shmget=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if ${ac_cv_search_sched_yield+:} false; then :
+ if ${ac_cv_search_shmget+:} false; then :
break
fi
done
-if ${ac_cv_search_sched_yield+:} false; then :
+if ${ac_cv_search_shmget+:} false; then :
else
- ac_cv_search_sched_yield=no
+ ac_cv_search_shmget=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sched_yield" >&5
-$as_echo "$ac_cv_search_sched_yield" >&6; }
-ac_res=$ac_cv_search_sched_yield
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shmget" >&5
+$as_echo "$ac_cv_search_shmget" >&6; }
+ac_res=$ac_cv_search_shmget
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-# Required for thread_test.c on Solaris 2.5:
-# Other ports use it too (HP-UX) so test unconditionally
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname_r" >&5
-$as_echo_n "checking for library containing gethostbyname_r... " >&6; }
-if ${ac_cv_search_gethostbyname_r+:} false; then :
+# *BSD:
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing backtrace_symbols" >&5
+$as_echo_n "checking for library containing backtrace_symbols... " >&6; }
+if ${ac_cv_search_backtrace_symbols+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -12013,16 +12012,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
-char gethostbyname_r ();
+char backtrace_symbols ();
int
main ()
{
-return gethostbyname_r ();
+return backtrace_symbols ();
;
return 0;
}
_ACEOF
-for ac_lib in '' nsl; do
+for ac_lib in '' execinfo; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -12030,91 +12029,35 @@ for ac_lib in '' nsl; do
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_gethostbyname_r=$ac_res
+ ac_cv_search_backtrace_symbols=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if ${ac_cv_search_gethostbyname_r+:} false; then :
+ if ${ac_cv_search_backtrace_symbols+:} false; then :
break
fi
done
-if ${ac_cv_search_gethostbyname_r+:} false; then :
+if ${ac_cv_search_backtrace_symbols+:} false; then :
else
- ac_cv_search_gethostbyname_r=no
+ ac_cv_search_backtrace_symbols=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname_r" >&5
-$as_echo "$ac_cv_search_gethostbyname_r" >&6; }
-ac_res=$ac_cv_search_gethostbyname_r
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_backtrace_symbols" >&5
+$as_echo "$ac_cv_search_backtrace_symbols" >&6; }
+ac_res=$ac_cv_search_backtrace_symbols
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-# Cygwin:
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing shmget" >&5
-$as_echo_n "checking for library containing shmget... " >&6; }
-if ${ac_cv_search_shmget+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shmget ();
-int
-main ()
-{
-return shmget ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' cygipc; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_shmget=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_shmget+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_shmget+:} false; then :
-
-else
- ac_cv_search_shmget=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shmget" >&5
-$as_echo "$ac_cv_search_shmget" >&6; }
-ac_res=$ac_cv_search_shmget
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-# *BSD:
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing backtrace_symbols" >&5
-$as_echo_n "checking for library containing backtrace_symbols... " >&6; }
-if ${ac_cv_search_backtrace_symbols+:} false; then :
+if test "$enable_thread_safety" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname_r" >&5
+$as_echo_n "checking for library containing gethostbyname_r... " >&6; }
+if ${ac_cv_search_gethostbyname_r+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -12127,16 +12070,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
-char backtrace_symbols ();
+char gethostbyname_r ();
int
main ()
{
-return backtrace_symbols ();
+return gethostbyname_r ();
;
return 0;
}
_ACEOF
-for ac_lib in '' execinfo; do
+for ac_lib in '' nsl; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -12144,32 +12087,30 @@ for ac_lib in '' execinfo; do
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_backtrace_symbols=$ac_res
+ ac_cv_search_gethostbyname_r=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if ${ac_cv_search_backtrace_symbols+:} false; then :
+ if ${ac_cv_search_gethostbyname_r+:} false; then :
break
fi
done
-if ${ac_cv_search_backtrace_symbols+:} false; then :
+if ${ac_cv_search_gethostbyname_r+:} false; then :
else
- ac_cv_search_backtrace_symbols=no
+ ac_cv_search_gethostbyname_r=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_backtrace_symbols" >&5
-$as_echo "$ac_cv_search_backtrace_symbols" >&6; }
-ac_res=$ac_cv_search_backtrace_symbols
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname_r" >&5
+$as_echo "$ac_cv_search_gethostbyname_r" >&6; }
+ac_res=$ac_cv_search_gethostbyname_r
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-
-if test "$enable_thread_safety" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pthread_barrier_wait" >&5
$as_echo_n "checking for library containing pthread_barrier_wait... " >&6; }
if ${ac_cv_search_pthread_barrier_wait+:} false; then :
@@ -19456,57 +19397,6 @@ fi
fi
fi
-# Thread testing
-
-# We have to run the thread test near the end so we have all our symbols
-# defined. Cross compiling throws a warning.
-#
-if test "$enable_thread_safety" = yes; then
-if test "$PORTNAME" != "win32"
-then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking thread safety of required library functions" >&5
-$as_echo_n "checking thread safety of required library functions... " >&6; }
-
-_CFLAGS="$CFLAGS"
-_LIBS="$LIBS"
-CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-LIBS="$LIBS $PTHREAD_LIBS"
-if test "$cross_compiling" = yes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: maybe" >&5
-$as_echo "maybe" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-*** Skipping thread test program because of cross-compile build.
-" >&5
-$as_echo "$as_me: WARNING:
-*** Skipping thread test program because of cross-compile build.
-" >&2;}
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include "$srcdir/config/thread_test.c"
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "thread test program failed
-This platform is not thread-safe. Check the file 'config.log' for the
-exact reason, or use --disable-thread-safety to disable thread safety." "$LINENO" 5
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-CFLAGS="$_CFLAGS"
-LIBS="$_LIBS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** skipping thread test on Win32" >&5
-$as_echo "$as_me: WARNING: *** skipping thread test on Win32" >&2;}
-fi
-fi
-
# If compiler will take -Wl,--as-needed (or various platform-specific
# spellings thereof) then add that to LDFLAGS. This is much easier than
# trying to filter LIBS to the minimum for each executable.