This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] ARM testsuite: force hardfp for addr-modes-float.c
- From: Kyrill Tkachov <kyrylo dot tkachov at foss dot arm dot com>
- To: Charles Baylis <charles dot baylis at linaro dot org>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, nickc at redhat dot com, Christophe Lyon <christophe dot lyon at linaro dot org>
- Date: Tue, 05 Dec 2017 09:30:35 +0000
- Subject: Re: [PATCH] ARM testsuite: force hardfp for addr-modes-float.c
- Authentication-results: sourceware.org; auth=none
- References: <CADnVucBSHO=JziDqVeNv257myMCoPJraO0Y5tzzZUu2Ob1Hb+g@mail.gmail.com> <5A1C4FB5.1040001@foss.arm.com> <CADnVucDSKDzmtmVzjjORQv1LbFmgCWpixGQQuWmHsaQHiBZcaQ@mail.gmail.com> <5A202A35.6040603@foss.arm.com> <CADnVucDMOLLUzSVLOsnBAsvWLezoS97YbPMsxM3yBzu-rDm=HQ@mail.gmail.com>
On 01/12/17 15:43, Charles Baylis wrote:
On 30 November 2017 at 15:56, Kyrill Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
So is it the case that you don't run any arm tests that include arm_neon.h
in your configuration?
No, it is only the case that any arm test which includes arm_neon.h
(in fact, any system header) *and* uses dg-add-options
-mfloat-abi=hard fails on my configuration (And -mfloat-abi=softfp
fails in my configurations which default to hardfp). [1]
Yes, you're right.
The only test which currently has -mfloat-abi=hard and #include
<arm_neon.h> is gcc.target/arm/pr51534.c, and it FAILs in my
arm-unknown-linux-gnueabi configuration.
If so, then I would be fine with leaving this test unsupported on this
configuration.
I don't see why, when the test can simply be fixed with
attribute((pcs)), but if you prefer I can respin the patch
accordingly.
No need, I think adding the pcs attribute to this test is the simpler
solution here.
So your patch is ok as is, sorry for the noise...
By the way, I notice that in addr-modes-float.c the arm_neon_ok check is
placed before the dg-add-options.
I don't remember the arcane rules exactly, but I think the effective target
check should go before it, so that the test gets skipped properly.
OK, I can respin the patch with that change.
This can be done as a follow up if you want, or if you make this change
as part of this patch
they are pre-approved.
Thanks,
Kyrill
[1] full details as follows:
$ arm-unknown-linux-gnueabi-gcc -v
COLLECT_GCC=/home/cbaylis/tools//tools-arm-unknown-linux-gnueabi-git/bin/arm-unknown-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/cbaylis/tools/tools-arm-unknown-linux-gnueabi-git/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.0.0/lto-wrapper
Target: arm-unknown-linux-gnueabi
Configured with: /home/cbaylis/srcarea/gcc/gcc-git/configure
--prefix=/home/cbaylis/tools//tools-arm-unknown-linux-gnueabi-git
--target=arm-unknown-linux-gnueabi --enable-languages=c,c++
--with-sysroot=/home/cbaylis/tools//sysroot-arm-unknown-linux-gnueabi-git
--with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16
--with-float=softfp --with-mode=thumb
Thread model: posix
gcc version 8.0.0 20171124 (experimental) (GCC)
$ cat tn.c
#include <stdio.h>
$ arm-unknown-linux-gnueabi-gcc -mfloat-abi=hard tn.c
In file included from
/home/cbaylis/tools/sysroot-arm-unknown-linux-gnueabi-git/usr/include/features.h:447,
from
/home/cbaylis/tools/sysroot-arm-unknown-linux-gnueabi-git/usr/include/bits/libc-header-start.h:33,
from
/home/cbaylis/tools/sysroot-arm-unknown-linux-gnueabi-git/usr/include/stdio.h:27,
from tn.c:2:
/home/cbaylis/tools/sysroot-arm-unknown-linux-gnueabi-git/usr/include/gnu/stubs.h:10:11:
fatal error: gnu/stubs-hard.h: Dosiero aŭ dosierujo ne ekzistas
# include <gnu/stubs-hard.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.