Test for __cxa_thread_atexit_impl when cross-compiling libstdc++ for GNU targets.
authorJoseph Myers <joseph@codesourcery.com>
Sun, 11 Oct 2015 22:34:28 +0000 (23:34 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Sun, 11 Oct 2015 22:34:28 +0000 (23:34 +0100)
I noticed that when testing glibc with a cross compiler I got

UNSUPPORTED: nptl/tst-thread_local1

because the libstdc++-v3 configuration for cross compiling defaulted
to __cxa_thread_atexit_impl not being available.  This patch fixes
GLIBCXX_CROSSCONFIG to run the same test (for the case covering
targets with glibc) for __cxa_thread_atexit_impl as for native
compilation, just as it runs most of the other tests done for native
compilation (for these targets, it's not possible to build libstdc++
without already having built libc, so link tests are OK).

Tested with no regressions for cross to arm-none-linux-gnueabi.

* crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
*-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
__cxa_thread_atexit_impl.
* configure: Regenerate.

From-SVN: r228695

libstdc++-v3/ChangeLog
libstdc++-v3/configure
libstdc++-v3/crossconfig.m4

index a6bb000996c336b65a7cf251ffddd96087337ec6..e3061efca4f5f3508df853e8a8cb232c46ba0e35 100644 (file)
@@ -1,3 +1,10 @@
+2015-10-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
+       *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
+       __cxa_thread_atexit_impl.
+       * configure: Regenerate.
+
 2015-10-09  Jonathan Wakely  <jwakely@redhat.com>
 
        * include/experimental/erase_if.h: Move to ...
index 73d45b1a680cd40e617acdf072b8fdc68dd4dd84..1eb6db4ec4cde4f0218089f01675bb82b51fbbbe 100755 (executable)
@@ -58893,6 +58893,17 @@ $as_echo "$gcc_cv_have_tls" >&6; }
 $as_echo "#define HAVE_TLS 1" >>confdefs.h
 
   fi
+    for ac_func in __cxa_thread_atexit_impl
+do :
+  ac_fn_c_check_func "$LINENO" "__cxa_thread_atexit_impl" "ac_cv_func___cxa_thread_atexit_impl"
+if test "x$ac_cv_func___cxa_thread_atexit_impl" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE___CXA_THREAD_ATEXIT_IMPL 1
+_ACEOF
+
+fi
+done
+
 
 
 
index 10247f940b55ee77df940044c3889b08b51cfb4c..ece12567794b7e61418bfb654318bf994dd99fc9 100644 (file)
@@ -156,6 +156,7 @@ case "${host}" in
     GLIBCXX_CHECK_STDLIB_SUPPORT
     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
     GCC_CHECK_TLS
+    AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
     AM_ICONV
     ;;
   *-mingw32*)