On Wed, Jan 28, 2015 at 09:58:56PM +0300, Andrei Borzenkov wrote: > В Wed, 28 Jan 2015 18:33:59 +0000 > Leif Lindholm <leif.lindh...@linaro.org> пишет: > > > 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 > > Why subshell?
Brainless cargo culting to look similar to the preceding $target_cpu checker, which actually does something relevant with its subshell. If I drop that, is that an acceptable fix? > > + 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 > _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel