[cairo-commit] build/aclocal.float.m4

Bryce Harrington bryce at kemper.freedesktop.org
Tue Sep 23 16:02:43 PDT 2014


 build/aclocal.float.m4 |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

New commits:
commit 7cfebce15228c88ee122edb8ba575f9a609e36f4
Author: Bryce Harrington <bryce at osg.samsung.com>
Date:   Tue Sep 23 12:40:25 2014 -0700

    build:  Fix float endian configure test when using clang -O4
    
    When using clang -O4, the compiled test object is output in bitcode
    format rather than as an ELF object, so when we grep the test value from
    the object it fails.  To work around this, go ahead and link the test
    object into an executable, and then grep against this native binary
    instead of the compiler's intermediary object.
    
    We need to add __attribute__((used)) to ensure the d variable doesn't
    get optimized out during linking, since it's not referenced in the
    test's main().
    
    Patch authored by cmuelle8 <abendstund at gmail.com>
    
    Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
    Bugzilla:  https://bugs.freedesktop.org/show_bug.cgi?id=63310

diff --git a/build/aclocal.float.m4 b/build/aclocal.float.m4
index 18ec316..bc0a91c 100644
--- a/build/aclocal.float.m4
+++ b/build/aclocal.float.m4
@@ -24,16 +24,17 @@ AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
 # is found, the user is instructed to specify the ordering.
 
 ax_cv_c_float_words_bigendian=unknown
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
 
-double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
+double d __attribute__((used)) = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
+int main() { return 0; }
 
 ]])], [
 
-if strings - conftest.$ac_objext | grep noonsees >/dev/null ; then
+if strings - conftest | grep noonsees >/dev/null ; then
   ax_cv_c_float_words_bigendian=yes
 fi
-if strings - conftest.$ac_objext | grep seesnoon >/dev/null ; then
+if strings - conftest | grep seesnoon >/dev/null ; then
   if test "$ax_cv_c_float_words_bigendian" = unknown; then
     ax_cv_c_float_words_bigendian=no
   else


More information about the cairo-commit mailing list