grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: commit 3661261f breaks arm64


From: Vladimir 'phcoder' Serbinenko
Subject: Re: commit 3661261f breaks arm64
Date: Wed, 28 Jan 2015 20:39:43 +0100


Le 2015-01-28 20:37, "Leif Lindholm" <address@hidden> a écrit :
>
> On Wed, Jan 28, 2015 at 09:58:56PM +0300, Andrei Borzenkov wrote:
> > В Wed, 28 Jan 2015 18:33:59 +0000
> > Leif Lindholm <address@hidden> пишет:
> >
> > > 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?
Yes.
I probably should define guidelines for platform-specific options and clean up existing inconsistencies but it's low priority.
> > > +  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
> > > address@hidden
> > > https://lists.gnu.org/mailman/listinfo/grub-devel
> >
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel


reply via email to

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