[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
commit 3661261f breaks arm64
From: |
Leif Lindholm |
Subject: |
commit 3661261f breaks arm64 |
Date: |
Wed, 28 Jan 2015 18:33:59 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
commit 3661261fe17a8fe19681073889b5b36ec1ee823d,
"Always add -msoft-float to avoid compiler generating float
arithmetics." breaks the arm64 build.
-msoft-float is not a valid command line option for aarch64 (as far as
I can see, it is technically a target-specific option which just
happens to exist for most targets - including arm).
This setting will need to be conditionalised somehow.
An option that works for arm64 is -march=armv8-a+nofp+nosimd.
Would something like this be an acceptable workaround?:
diff --git a/configure.ac b/configure.ac
index a3bca06..c99e1ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -678,7 +678,11 @@ fi
# that floats are a good fit to run instead of what's written in the
# code.
# Given that floating point unit is disabled (if present to begin
# with)
# when GRUB is running which may result in various hard crashes.
-TARGET_CFLAGS="$TARGET_CFLAGS -msoft-float"
+if ( test "x$target_cpu" = xarm64 ); then
+ TARGET_CFLAGS="$TARGET_CFLAGS -march=armv8-a+nofp+nosimd"
+else
+ TARGET_CFLAGS="$TARGET_CFLAGS -msoft-float"
+fi
# By default, GCC 4.4 generates .eh_frame sections containing unwind
# information in some cases where it previously did not. GRUB doesn't
# need
/
Leif
- commit 3661261f breaks arm64,
Leif Lindholm <=