summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-02-20 14:30:13 +0100
committerFridrich Štrba <fridrich.strba@bluewin.ch>2012-02-20 14:45:56 +0100
commitbb0f6b0c7c745264da38b91e0eca39a6f5ad934d (patch)
tree5d1c0da3efb963e16a75e55947e8e33c675f67d8 /configure.in
parente57f68d7e7811584a006ecb8e71f8f96045c48e7 (diff)
Improve check for broken -fthreadsafe-statics
Signed-off-by: Fridrich Štrba <fridrich.strba@bluewin.ch>
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 4667f0b4cda7..26a500a34fb9 100644
--- a/configure.in
+++ b/configure.in
@@ -3626,8 +3626,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