On Fri, 12 Feb 2021 at 17:02, Richard Earnshaw <richard.earns...@foss.arm.com> wrote: > > On 12/02/2021 14:20, Christophe Lyon via Gcc-patches wrote: > > This test forces -march=armv8.1-m.main, which supports only Thumb mode. > > However, if the toolchain is not configured --with-thumb, the test > > fails with: > > error: target CPU does not support ARM mode > > > > Adding -mthumb to dg-options fixes the problem. > > > > Hmm, this sounds like a different problem. The driver, these days, is > supposed to detect when the architecture only supports thumb and to add > that automatically when calling cc1 etc. So why isn't that working in > this case? > > (See gcc/common/config/arm/arm-common.c:arm_target_thumb_only). >
Well, I've just rebuilt --with-mode=arm --with-cpu=cortex-a9 --target=arm-none-eabi and when I compile $ arm-none-eabi-gcc hello.c -march=armv8.1-m.main -S cc1: error: target CPU does not support ARM mode I put a breakpoint in arm_target_thumb_only and it did not trigger. > R. > > > Committed as obvious. > > > > 2021-02-12 Christophe Lyon <christophe.l...@linaro.org> > > > > PR target/98931 > > gcc/testsuite/ > > * gcc.target/arm/pr98931.c: Add -mthumb > > --- > > gcc/testsuite/gcc.target/arm/pr98931.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/gcc/testsuite/gcc.target/arm/pr98931.c > > b/gcc/testsuite/gcc.target/arm/pr98931.c > > index 313876a..66070ad 100644 > > --- a/gcc/testsuite/gcc.target/arm/pr98931.c > > +++ b/gcc/testsuite/gcc.target/arm/pr98931.c > > @@ -1,6 +1,6 @@ > > /* { dg-do assemble } */ > > /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" > > "-mcpu=*" } } */ > > -/* { dg-options "-march=armv8.1-m.main -O3 > > --param=max-completely-peeled-insns=1300 --save-temps" } */ > > +/* { dg-options "-march=armv8.1-m.main -O3 > > --param=max-completely-peeled-insns=1300 --save-temps -mthumb" } */ > > > > extern long long a[][20][26][26][22]; > > > > >