diff --git a/gcc/ada/gcc-interface/Makefile.in
b/gcc/ada/gcc-interface/Makefile.in
index 21c2471..bae126d 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -1828,7 +1828,7 @@ ifeq ($(strip $(filter-out powerpc% e500%
linux%,$(arch) $(osys))),)
   LIBRARY_VERSION := $(LIB_VERSION)
 endif

-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word
4,$(targ)))),)
+ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(arch) $(osys)-$(word
4,$(targ)))),)
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.ads<a-intnam-linux.ads \
   s-inmaop.adb<s-inmaop-posix.adb \
diff --git a/gcc/config.gcc b/gcc/config.gcc
index f2b0936..05d669f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -835,7 +835,7 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
 	esac
 	tmake_file="${tmake_file} arm/t-arm"
 	case ${target} in
-	arm*-*-linux-*eabi)
+	arm*-*-linux-*eabi*)
 	    tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
 	    tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
 	    # Define multilib configuration for arm-linux-androideabi.
@@ -844,6 +844,11 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
 		tmake_file="$tmake_file arm/t-linux-androideabi"
 		;;
 	    esac
+	    case ${target} in
+	    arm*-*-*eabihf)
+		with_float=${with_float:-hard}
+		;;
+	    esac
   	    # The BPABI long long divmod functions return a 128-bit value in
 	    # registers r0-r3.  Correctly modeling that requires the use of
 	    # TImode.
diff --git a/libgcc/config.host b/libgcc/config.host
index 14c705b..fd952ff 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -316,7 +316,7 @@ arm*-*-netbsdelf*)
 arm*-*-linux*)			# ARM GNU/Linux with ELF
 	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
 	case ${host} in
-	arm*-*-linux-*eabi)
+	arm*-*-linux-*eabi*)
 	  tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi
t-slibgcc-libgcc"
 	  tm_file="$tm_file arm/bpabi-lib.h"
 	  unwind_header=config/arm/unwind-arm.h
diff --git a/libjava/configure b/libjava/configure
index 0bd423d..5067f3b 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -20548,7 +20548,7 @@ case "${host}" in
     # on Darwin -single_module speeds up loading of the dynamic libraries.
     extra_ldflags_libjava=-Wl,-single_module
     ;;
-arm*linux*eabi)
+arm*linux*eabi*)
     # Some of the ARM unwinder code is actually in libstdc++.  We
     # could in principle replicate it in libgcj, but it's better to
     # have a dependency on libstdc++.
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 62c5000..736608c 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -931,7 +931,7 @@ case "${host}" in
     # on Darwin -single_module speeds up loading of the dynamic libraries.
     extra_ldflags_libjava=-Wl,-single_module
     ;;
-arm*linux*eabi)
+arm*linux*eabi*)
     # Some of the ARM unwinder code is actually in libstdc++.  We
     # could in principle replicate it in libgcj, but it's better to
     # have a dependency on libstdc++.
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
index 8f29bc2..c29d9d4 100644
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -324,7 +324,7 @@ case "${host}" in
         fi
     esac
     case "${host}" in
-      arm*-*-linux-*eabi)
+      arm*-*-linux-*eabi*)
 	port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
 	;;
     esac
