32-bit x86 fix and more
authorAnthony Green <green@moxielogic.com>
Fri, 11 Jan 2013 15:24:32 +0000 (10:24 -0500)
committerAnthony Green <green@moxielogic.com>
Fri, 11 Jan 2013 15:24:32 +0000 (10:24 -0500)
ChangeLog
README
configure
configure.ac
m4/ax_cc_maxopt.m4

index aa211f4..b6f86d5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-01-11  Anthony Green  <green@moxielogic.com>
+
+       * configure.ac: Robustify pc relative reloc check.
+       * m4/ax_cc_maxopt.m4: Don't -malign-double.  This is an ABI
+       changing option for 32-bit x86.
+       * aclocal.m4, configure: Rebuilt.
+       * README: Update supported target list.
+
 2013-01-10  Anthony Green  <green@moxielogic.com>
 
        * README (tested): Add Compiler column to table.
diff --git a/README b/README
index 6bb528e..936b971 100644 (file)
--- a/README
+++ b/README
@@ -75,8 +75,10 @@ tested:
 | S390X           | Linux            | GCC                     |
 | SPARC           | Linux            | GCC                     |
 | SPARC           | Solaris          | GCC                     |
+| SPARC           | Solaris          | Oracle Solaris Studio C |
 | SPARC64         | Linux            | GCC                     |
 | SPARC64         | FreeBSD          | GCC                     |
+| SPARC64         | Solaris          | Oracle Solaris Studio C |
 | TILE-Gx/TILEPro | Linux            | GCC                     |
 | X86             | FreeBSD          | GCC                     |
 | X86             | Interix          | GCC                     |
index 95d950b..41bde69 100755 (executable)
--- a/configure
+++ b/configure
@@ -12426,41 +12426,8 @@ $as_echo "$icc_archflag" >&6; }
      CFLAGS="-O3 -fomit-frame-pointer"
 
      # -malign-double for x86 systems
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
-$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
-if ${ax_cv_check_cflags___malign_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  -malign-double"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ax_cv_check_cflags___malign_double=yes
-else
-  ax_cv_check_cflags___malign_double=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
-$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
-if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
-  CFLAGS="$CFLAGS -malign-double"
-else
-  :
-fi
-
+     # LIBFFI -- DON'T DO THIS - CHANGES ABI
+     # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
 
      #  -fstrict-aliasing for gcc-2.95+
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
@@ -14480,10 +14447,10 @@ if ${libffi_cv_as_x86_pcrel+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
-       libffi_cv_as_x86_pcrel=yes
+       libffi_cv_as_x86_pcrel=no
        echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
+       if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then
+           libffi_cv_as_x86_pcrel=yes
        fi
 
 fi
index 5ca32fd..32ec7c5 100644 (file)
@@ -334,10 +334,10 @@ fi
 if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
     AC_CACHE_CHECK([assembler supports pc related relocs],
        libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=yes
+       libffi_cv_as_x86_pcrel=no
        echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
+       if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then
+           libffi_cv_as_x86_pcrel=yes
        fi
        ])
     if test "x$libffi_cv_as_x86_pcrel" = xyes; then
index f5f7517..62e3b53 100644 (file)
@@ -141,7 +141,8 @@ if test "$ac_test_CFLAGS" != "set"; then
      CFLAGS="-O3 -fomit-frame-pointer"
 
      # -malign-double for x86 systems
-     AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
+     # LIBFFI -- DON'T DO THIS - CHANGES ABI
+     # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
 
      #  -fstrict-aliasing for gcc-2.95+
      AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,