Modify ABI tests in MIPS preconfigure.

This commit is contained in:
Steve Ellcey 2014-09-09 10:01:51 -07:00
parent 645a0e9c17
commit 0febba23dd
2 changed files with 28 additions and 34 deletions

View File

@ -1,3 +1,7 @@
2014-09-09 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/preconfigure: Modify ABI tests.
2014-09-07 Carlos O'Donell <carlos@systemhalted.org>
* sysdeps/unix/sysv/linux/hppa/c++-types.data: New file.

View File

@ -1,34 +1,24 @@
case "$machine" in
mips64*) base_machine=mips64
case "$CC $CFLAGS $CPPFLAGS " in
*" -mabi=n32 "*) mips_cc_abi=n32 ;;
*" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
*" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
*) mips_cc_abi=default ;;
esac
case $config_os in
*abin32*) mips_config_abi=n32 ;;
*abi64*|*abin64*) mips_config_abi=64 ;;
*abi32*|*abio32*) mips_config_abi=32 ;;
*) mips_config_abi=$mips_cc_abi ;;
esac
case $mips_config_abi in
default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
n32) machine=mips/mips64/n32 ;;
64) machine=mips/mips64/n64 ;;
32) machine=mips/mips32/kern64 ;;
esac
machine=$machine/$config_machine
if test $mips_config_abi != $mips_cc_abi; then
# This won't make it to config.make, but we want to
# set this in case configure tests depend on it.
CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
abiflag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n 's/^#define _MIPS_SIM \(.*\)/\1/p'`
mips16flag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n 's/^#define __mips16 \(.*\)/\1/p'`
base_machine=mips
if test "$abiflag" = "_ABIO32" ; then
if test "$mips16flag" = "1" ; then
machine=mips/mips32/mips16
else
machine=mips/mips32
fi
;;
mips*) base_machine=mips
case "$CC $CFLAGS $CPPFLAGS " in
*" -mips16 "*) machine=mips/mips32/mips16/$machine ;;
*) machine=mips/mips32/$machine ;;
esac
;;
esac
elif test "$abiflag" = "_ABIN32" ; then
machine=mips/mips64/n32
elif test "$abiflag" = "_ABI64" ; then
machine=mips/mips64/n64
else
as_fn_error $? "Unable to determine ABI." "$LINENO" 5
fi
# $config_machine is not really needed here but the slash after $machine is
# needed by the case statement in sysdeps/unix/sysv/linux/mips/configure.ac.
machine=$machine/$config_machine
if test "$abiflag" != "_ABIO32" -a "$mips16flag" = "1"; then
as_fn_error $? "mips16 is only supported with the O32 ABI." "$LINENO" 5
fi