[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: commit 3661261f breaks arm64
From: |
Andrei Borzenkov |
Subject: |
Re: commit 3661261f breaks arm64 |
Date: |
Wed, 28 Jan 2015 21:58:56 +0300 |
В 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?
> + 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