32-bit x86 fix and more

This commit is contained in:
Anthony Green
2013-01-11 10:24:32 -05:00
parent cd41aeab61
commit bff052d9cd
5 changed files with 20 additions and 42 deletions

View File

@@ -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.

2
README
View File

@@ -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 |

43
configure vendored
View File

@@ -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

View 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

View 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,