[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: arm64 softfloat
From: |
Leif Lindholm |
Subject: |
Re: arm64 softfloat |
Date: |
Tue, 2 Jun 2015 15:55:31 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Jun 02, 2015 at 02:25:15PM +0200, Vladimir 'phcoder' Serbinenko wrote:
> Please give more details as to where we have floats. We shouldn't have any
Ok, seems I was tripping over myself with the internal compiler error
workaround (-mgeneral-regs-only), and applying it on the host tools
as well, where +nofp was (correctly) not being enforced, causing a
clash.
So, rewinding a bit - in order to work around the gcc 5.1 build issue
(which is not Fedora specific), we can use -mgeneral-regs-only
instead of -march=armv8-a+nofp. If we do this, we can also get
rid of the arm64-specific twiddling that drops the +nosimd.
Like so:
>From 43d4231432838821cabe4f6aea4f0f50e87af9c4 Mon Sep 17 00:00:00 2001
From: Leif Lindholm <address@hidden>
Date: Tue, 2 Jun 2015 15:41:09 +0100
Subject: [PATCH] configure.ac: clean up arm64 soft-float handling
Fix compilation with gcc 5.1 (avoid internal compiler error), by
replacing explicit -march +nofp+nosimd options with -mgeneral-regs-only.
This also enables the removal of some further conditional build flag
setting.
---
configure.ac | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac
index 891c14f..fd8a62e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -686,9 +686,9 @@ if test x"$platform" != xemu ; then
AC_CACHE_CHECK([for options to get soft-float],
grub_cv_target_cc_soft_float, [
grub_cv_target_cc_soft_float=no
if test "x$target_cpu" = xarm64; then
- CFLAGS="$TARGET_CFLAGS -march=armv8-a+nofp+nosimd -Werror"
+ CFLAGS="$TARGET_CFLAGS -mgeneral-regs-only -Werror"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
-
[grub_cv_target_cc_soft_float="-march=armv8-a+nofp+nosimd"], [])
+ [grub_cv_target_cc_soft_float="-mgeneral-regs-only"],
[])
fi
if test "x$target_cpu" = xia64; then
CFLAGS="$TARGET_CFLAGS -mno-inline-float-divide -mno-inline-sqrt
-Werror"
@@ -720,15 +720,7 @@ if test x"$platform" != xemu ; then
TARGET_CFLAGS="$TARGET_CFLAGS $grub_cv_target_cc_soft_float"
;;
esac
- case x"$grub_cv_target_cc_soft_float" in
- x"-march=armv8-a+nofp+nosimd")
- # +nosimd disables also the cache opcodes that we need in asm.
- TARGET_CCASFLAGS="$TARGET_CCASFLAGS -march=armv8-a+nofp"
- ;;
- *)
- TARGET_CCASFLAGS="$TARGET_CCASFLAGS $grub_cv_target_cc_soft_float"
- ;;
- esac
+ TARGET_CCASFLAGS="$TARGET_CCASFLAGS $grub_cv_target_cc_soft_float"
fi
--
2.1.4
- arm64 softfloat, Leif Lindholm, 2015/06/02
- Re: arm64 softfloat, Vladimir 'phcoder' Serbinenko, 2015/06/02
- Re: arm64 softfloat,
Leif Lindholm <=
- Re: arm64 softfloat, Vladimir 'φ-coder/phcoder' Serbinenko, 2015/06/02
- Re: arm64 softfloat, Andrei Borzenkov, 2015/06/02
- Re: arm64 softfloat, Leif Lindholm, 2015/06/03
- Re: arm64 softfloat, Andrei Borzenkov, 2015/06/03
- Re: arm64 softfloat, Leif Lindholm, 2015/06/03
- Re: arm64 softfloat, Andrei Borzenkov, 2015/06/03
- Re: arm64 softfloat, Vladimir 'phcoder' Serbinenko, 2015/06/03