As described in the PR, several 32-bit libatomic tests FAIL on
Solaris/x86 with infinite recursion e.g. in
__atomic_compare_exchange_8.  It turns out that this happens because,
unlike on glibc targets, the atomic builtin configure tests are run as
compile tests, but are currently not compiled with $XCFLAGS, unlike the
real code.  The following patch fixes this, tested on
i386-pc-solaris2.10 and x86_64-unknown-linux-gnu, approved by rth in the
PR, installed on mainline.

        Rainer


2012-05-09  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

        PR other/53284
        * acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS
        instead of overriding.
        * configure: Regenerate.

# HG changeset patch
# Parent 6c6136d0a9792bfd3fe9600f7867d5edf5c9b114
Always compile atomic builtin tests with $XCFLAGS

diff --git a/libatomic/acinclude.m4 b/libatomic/acinclude.m4
--- a/libatomic/acinclude.m4
+++ b/libatomic/acinclude.m4
@@ -67,7 +67,7 @@ AC_DEFUN([LIBAT_TEST_ATOMIC_BUILTIN],[
     else
       old_CFLAGS="$CFLAGS"
       # Compile unoptimized.
-      CFLAGS='-O0 -S'
+      CFLAGS="$CFLAGS -O0 -S"
       if AC_TRY_EVAL(ac_compile); then
         if grep __atomic_ conftest.s >/dev/null 2>&1 ; then
 	  eval $2=no

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to