grub-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]