From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1YzpPS-0000l5-PE for mharc-grub-devel@gnu.org; Tue, 02 Jun 2015 12:51:26 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48554) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YzpPM-0000dH-TT for grub-devel@gnu.org; Tue, 02 Jun 2015 12:51:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YzpPI-0008VJ-QM for grub-devel@gnu.org; Tue, 02 Jun 2015 12:51:20 -0400 Received: from mail-lb0-x22e.google.com ([2a00:1450:4010:c04::22e]:35198) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YzpPI-0008Us-F0 for grub-devel@gnu.org; Tue, 02 Jun 2015 12:51:16 -0400 Received: by lbbuc2 with SMTP id uc2so108535724lbb.2 for ; Tue, 02 Jun 2015 09:51:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type; bh=KOREfBnTq1iuvzsU98ITmdvhc8hWsT02brFV3OYRpFs=; b=0XyE3zi0NPkujsfS0/YhDVmWeHEgz6LsrMJlKC1d3UOOOc0rZh0wXP9prlCVHIhZUg w2azXjM9onx1FnaVu5xV6c+YW6z3vAvra2VByynXdg893nq9owe02FsQ+KgArLhrNA4Q gZr46GEac1SsyzPPhkDp7WWYty8Us4sm9YHbKgDEg+0DD1OFYnE6i4EUOUiWuFrohdl8 mx/Mv19qkc2T014eH7hyQZyk9ZDidxbFAjZ5XVWBKiWRXXSpwfMO+iKsDqBvLm4kgXuL MLHImie6dceiJI6lvMb8jOv0RwOsHUaNtM+HBQ4pyZB7DiRkzs/NGvg8bgFoz0ispMLt TiPw== X-Received: by 10.112.185.100 with SMTP id fb4mr27463532lbc.79.1433263875509; Tue, 02 Jun 2015 09:51:15 -0700 (PDT) Received: from opensuse.site (ppp91-76-14-38.pppoe.mtu-net.ru. [91.76.14.38]) by mx.google.com with ESMTPSA id h3sm5098474lbj.19.2015.06.02.09.51.14 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2015 09:51:14 -0700 (PDT) Date: Tue, 2 Jun 2015 19:51:12 +0300 From: Andrei Borzenkov To: Vladimir =?UTF-8?B?J8+GLWNvZGVyL3BoY29kZXIn?= Serbinenko Subject: Re: arm64 softfloat Message-ID: <20150602195112.5d178bb7@opensuse.site> In-Reply-To: <556DDBCC.3000500@gmail.com> References: <20150602120917.GI8790@bivouac.eciton.net> <20150602145531.GK8790@bivouac.eciton.net> <556DDBCC.3000500@gmail.com> X-Mailer: Claws Mail 3.11.0 (GTK+ 2.24.27; x86_64-suse-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/UAQA_HHcAw9O.ELVr9=Afg2"; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c04::22e Cc: The development of GNU GRUB X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Jun 2015 16:51:25 -0000 --Sig_/UAQA_HHcAw9O.ELVr9=Afg2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =D0=92 Tue, 02 Jun 2015 18:37:32 +0200 Vladimir '=CF=86-coder/phcoder' Serbinenko =D0=BF=D0=B8= =D1=88=D0=B5=D1=82: > On 02.06.2015 16:55, Leif Lindholm wrote: > > On Tue, Jun 02, 2015 at 02:25:15PM +0200, Vladimir 'phcoder' Serbinenko= wrote: > >> Please give more details as to where we have floats. We shouldn't have= any > >=20 > > Ok, seems I was tripping over myself with the internal compiler error > > workaround (-mgeneral-regs-only), and applying it on the host tools > > as well, where +nofp was (correctly) not being enforced, causing a > > clash. > >=20 > What is the relation of -mgeneral-regs-only with +nofp? The decription > of -mgeneral-regs-only in manual is very vague According to http://infocenter.arm.com/help/index.jsp?topic=3D/com.arm.doc.dui0774a/chr1= 392305446662.html 1.16 -mgeneral-regs-only Prevents the use of floating-point instructions or floating-point registers. Note The -mgeneral-regs-only option is only valid with the aarch64-arm-none-eabi= target. Use -mfpu=3Dnone to prevent the use of floating-point instructions= or floating-point registers for the armv8a-arm-none-eabi target. The description is for armclang; we can just hope that GCC is using the same semantic. > > So, rewinding a bit - in order to work around the gcc 5.1 build issue > > (which is not Fedora specific), we can use -mgeneral-regs-only > > instead of -march=3Darmv8-a+nofp. If we do this, we can also get > > rid of the arm64-specific twiddling that drops the +nosimd. > >=20 > > Like so: > >=20 > >>From 43d4231432838821cabe4f6aea4f0f50e87af9c4 Mon Sep 17 00:00:00 2001 > > From: Leif Lindholm > > Date: Tue, 2 Jun 2015 15:41:09 +0100 > > Subject: [PATCH] configure.ac: clean up arm64 soft-float handling > >=20 > > Fix compilation with gcc 5.1 (avoid internal compiler error), by > > replacing explicit -march +nofp+nosimd options with -mgeneral-regs-only. > >=20 > > This also enables the removal of some further conditional build flag > > setting. > > --- > > configure.ac | 14 +++----------- > > 1 file changed, 3 insertions(+), 11 deletions(-) > >=20 > > diff --git a/configure.ac b/configure.ac > > index 891c14f..fd8a62e 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -686,9 +686,9 @@ if test x"$platform" !=3D xemu ; then > > AC_CACHE_CHECK([for options to get soft-float], grub_cv_target_cc_so= ft_float, [ > > grub_cv_target_cc_soft_float=3Dno > > if test "x$target_cpu" =3D xarm64; then > > - CFLAGS=3D"$TARGET_CFLAGS -march=3Darmv8-a+nofp+nosimd -Werror" > > + CFLAGS=3D"$TARGET_CFLAGS -mgeneral-regs-only -Werror" > > AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], > > - [grub_cv_target_cc_soft_float=3D"-march=3Darmv8-a+nofp+nosi= md"], []) > > + [grub_cv_target_cc_soft_float=3D"-mgeneral-regs-only"], []) > > fi > > if test "x$target_cpu" =3D xia64; then > > CFLAGS=3D"$TARGET_CFLAGS -mno-inline-float-divide -mno-inline-s= qrt -Werror" > > @@ -720,15 +720,7 @@ if test x"$platform" !=3D xemu ; then > > TARGET_CFLAGS=3D"$TARGET_CFLAGS $grub_cv_target_cc_soft_float" > > ;; > > esac > > - case x"$grub_cv_target_cc_soft_float" in > > - x"-march=3Darmv8-a+nofp+nosimd") > > - # +nosimd disables also the cache opcodes that we need in asm. > > - TARGET_CCASFLAGS=3D"$TARGET_CCASFLAGS -march=3Darmv8-a+nofp" > > - ;; > > - *) > > - TARGET_CCASFLAGS=3D"$TARGET_CCASFLAGS $grub_cv_target_cc_soft_fl= oat" > > - ;; > > - esac > > + TARGET_CCASFLAGS=3D"$TARGET_CCASFLAGS $grub_cv_target_cc_soft_float" > > =20 > > fi > > =20 > >=20 >=20 >=20 --Sig_/UAQA_HHcAw9O.ELVr9=Afg2 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlVt3wAACgkQR6LMutpd94y2dwCgzsLU1VKAFK2YUIXnpYbiFjdp WggAoMnhUJd6TzlkSEJ4CgNZ21VJziTI =0A4A -----END PGP SIGNATURE----- --Sig_/UAQA_HHcAw9O.ELVr9=Afg2--