configure.ac: clean up arm64 soft-float handling
Fix compilation with gcc 5.1 (avoid internal compiler error), by replacing explicit -march +nofp+nosimd options with -mgeneral-regs-only. This also enables the removal of some further conditional build flag setting.
This commit is contained in:
parent
3ac342205d
commit
43d4231432
1 changed files with 3 additions and 11 deletions
14
configure.ac
14
configure.ac
|
@ -686,9 +686,9 @@ if test x"$platform" != xemu ; then
|
|||
AC_CACHE_CHECK([for options to get soft-float], grub_cv_target_cc_soft_float, [
|
||||
grub_cv_target_cc_soft_float=no
|
||||
if test "x$target_cpu" = xarm64; then
|
||||
CFLAGS="$TARGET_CFLAGS -march=armv8-a+nofp+nosimd -Werror"
|
||||
CFLAGS="$TARGET_CFLAGS -mgeneral-regs-only -Werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||
[grub_cv_target_cc_soft_float="-march=armv8-a+nofp+nosimd"], [])
|
||||
[grub_cv_target_cc_soft_float="-mgeneral-regs-only"], [])
|
||||
fi
|
||||
if test "x$target_cpu" = xia64; then
|
||||
CFLAGS="$TARGET_CFLAGS -mno-inline-float-divide -mno-inline-sqrt -Werror"
|
||||
|
@ -720,15 +720,7 @@ if test x"$platform" != xemu ; then
|
|||
TARGET_CFLAGS="$TARGET_CFLAGS $grub_cv_target_cc_soft_float"
|
||||
;;
|
||||
esac
|
||||
case x"$grub_cv_target_cc_soft_float" in
|
||||
x"-march=armv8-a+nofp+nosimd")
|
||||
# +nosimd disables also the cache opcodes that we need in asm.
|
||||
TARGET_CCASFLAGS="$TARGET_CCASFLAGS -march=armv8-a+nofp"
|
||||
;;
|
||||
*)
|
||||
TARGET_CCASFLAGS="$TARGET_CCASFLAGS $grub_cv_target_cc_soft_float"
|
||||
;;
|
||||
esac
|
||||
TARGET_CCASFLAGS="$TARGET_CCASFLAGS $grub_cv_target_cc_soft_float"
|
||||
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in a new issue