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 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel