summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-02-20 14:30:13 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-02-20 14:30:36 +0100
commitf78cb7da33a9f69e865b28b55a212bf1d11b1d7d (patch)
tree04ccb02a06a036040aba7f1b68a8c9941acdaa07 /configure.in
parentbcf1edba4eeecba9b47d3ef983e0973b4c737871 (diff)
Improve check for broken -fthreadsafe-statics
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in10
1 files changed, 8 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index 50a9b975d015..39fe207ddea5 100644
--- a/configure.in
+++ b/configure.in
@@ -4282,8 +4282,14 @@ if test "$GCC" = "yes"; then
dnl return n;
dnl }
dnl
- dnl Mac OS X up to at least 10.7.1 is known to have this problem:
- if test "$_os" = "Darwin"; then
+ dnl Mac OS X up to at least 10.7.1 is known to have this problem, as is
+ dnl at least one instance of GCC 4.2.4 (used on a "Linux
+ dnl ooobuild1.osuosl.org 2.6.9-101.plus.c4smp #1 SMP Thu Jul 21 19:08:15
+ dnl EDT 2011 i686 i686 i386 GNU/Linux" machine); see the definition of
+ dnl __cxa_guard_acquire in GCC's libstdc++-v3/libsupc++/guard.cc for
+ dnl what #ifdefs actually make a difference there. Conservative advice
+ dnl from Jakub Jelinek is to assume it working in GCC >= 4.3:
+ if test "$_os" = "Darwin" -o "${GCCVER?}" -lt 040300; then
unset HAVE_THREADSAFE_STATICS
AC_MSG_RESULT([broken (i.e., no)])
else