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: Charles Baylis <charles dot baylis at linaro dot org>
- To: Kyrill Tkachov <kyrylo dot tkachov at foss dot arm dot com>
- 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: Fri, 1 Dec 2017 15:43:11 +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>
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]
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.
> 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.
[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.