https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115253

            Bug ID: 115253
           Summary: New tests added by r14-10122-gad45086178d833 fail on
                    Cortex M23 and M55 bare metal targets
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: thiago.bauermann at linaro dot org
  Target Milestone: ---

Commit g:ad45086178d833254d66fab518b14234418f002b, r14-10122-gad45086178d833,
introduces the tests gcc.target/arm/cmse/extend-param.c and
gcc.target/arm/cmse/extend-return.c.

They have the following failures on --with-cpu=cortex-m23, --with-float=soft,
--target=arm-eabi (full configure flags further below):

Running gcc:gcc.target/arm/cmse/cmse.exp ...
FAIL: gcc.target/arm/cmse/extend-param.c -O0   check-function-bodies
__acle_se_boolSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O0   check-function-bodies
__acle_se_enumSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O0   check-function-bodies
__acle_se_shortSignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O0   check-function-bodies
__acle_se_shortUnsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O0   check-function-bodies
__acle_se_signSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O0   check-function-bodies
__acle_se_unsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O1   check-function-bodies
__acle_se_boolSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O1   check-function-bodies
__acle_se_enumSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O1   check-function-bodies
__acle_se_shortSignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O1   check-function-bodies
__acle_se_shortUnsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O1   check-function-bodies
__acle_se_signSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O1   check-function-bodies
__acle_se_unsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O2   check-function-bodies
__acle_se_boolSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O2   check-function-bodies
__acle_se_enumSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O2   check-function-bodies
__acle_se_shortSignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O2   check-function-bodies
__acle_se_shortUnsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O2   check-function-bodies
__acle_se_signSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O2   check-function-bodies
__acle_se_unsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O3 -g   check-function-bodies
__acle_se_boolSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O3 -g   check-function-bodies
__acle_se_enumSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O3 -g   check-function-bodies
__acle_se_shortSignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O3 -g   check-function-bodies
__acle_se_shortUnsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O3 -g   check-function-bodies
__acle_se_signSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -O3 -g   check-function-bodies
__acle_se_unsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -Os   check-function-bodies
__acle_se_boolSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -Os   check-function-bodies
__acle_se_enumSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -Os   check-function-bodies
__acle_se_shortSignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -Os   check-function-bodies
__acle_se_shortUnsignSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -Os   check-function-bodies
__acle_se_signSecureFunc
FAIL: gcc.target/arm/cmse/extend-param.c -Os   check-function-bodies
__acle_se_unsignSecureFunc
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
boolNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
enumNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
shortSignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
shortUnsignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
signNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O0  (internal compiler error: in
extract_insn, at recog.cc:2812)
FAIL: gcc.target/arm/cmse/extend-return.c -O0  (test for excess errors)
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
boolNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
enumNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
shortSignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
shortUnsignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
signNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O1  (internal compiler error: in
extract_insn, at recog.cc:2812)
FAIL: gcc.target/arm/cmse/extend-return.c -O1  (test for excess errors)
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
boolNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
enumNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
shortSignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
shortUnsignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
signNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O2  (internal compiler error: in
extract_insn, at recog.cc:2812)
FAIL: gcc.target/arm/cmse/extend-return.c -O2  (test for excess errors)
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
boolNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
enumNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
shortSignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
shortUnsignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
signNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g  (internal compiler error: in
extract_insn, at recog.cc:2812)
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g  (test for excess errors)
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
boolNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
enumNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
shortSignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
shortUnsignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
signNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -Os  (internal compiler error: in
extract_insn, at recog.cc:2812)
FAIL: gcc.target/arm/cmse/extend-return.c -Os  (test for excess errors)

And these failures on --with-arch=armv8.1-m.main+mve.fp+fp.dp,
--with-float=hard, --target=arm-eabi (Cortex M55):

Running gcc:gcc.target/arm/cmse/cmse.exp ...
FAIL: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
boolNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
enumNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
shortSignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
shortUnsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
signNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O0   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
boolNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
enumNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
shortSignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
shortUnsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
signNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O1   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
boolNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
enumNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
shortSignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
shortUnsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
signNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O2   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
boolNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
enumNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
shortSignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
shortUnsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
signNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -O3 -g   check-function-bodies
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
boolNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
enumNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
shortSignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
shortUnsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
signNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c -Os   check-function-bodies
unsignNonsecure0

Here's how to reproduce with a cross-compiler on x86_64-linux-gnu:

For Cortex M23:

# Create combined tree:
$ mkdir /tmp/combined-tree-src
$ cd ~/src/newlib-cygwin && find . -print | cpio -pdlm /tmp/combined-tree-src
$ cd ~/src/binutils-gdb && find . -print | cpio -pdlmu /tmp/combined-tree-src
$ cd ~/src/gcc && find . -print | cpio -pdlmu /tmp/combined-tree-src
$ mkdir /tmp/build && cd /tmp/build
$ /bin/bash /tmp/combined-tree-src/configure \
    SHELL=/bin/bash \
    --with-gnu-as \
    --with-gnu-ld \
    --disable-libmudflap \
    --enable-lto \
    --enable-shared \
    --without-included-gettext \
    --enable-nls \
    --with-system-zlib \
    --disable-sjlj-exceptions \
    --enable-gnu-unique-object \
    --enable-linker-build-id \
    --disable-libstdcxx-pch \
    --enable-c99 \
    --enable-clocale=gnu \
    --enable-libstdcxx-debug \
    --enable-long-long \
    --with-cloog=no \
    --with-ppl=no \
    --with-isl=no \
    --enable-threads=no \
    --disable-multiarch \
    --disable-multilib \
    --with-mode=thumb \
    --with-cpu=cortex-m23 \
    --with-float=soft \
    --with-headers=yes \
    --with-native-system-header-dir=/include \
    --with-newlib \
    --enable-checking=yes \
    --disable-bootstrap \
    --disable-gdb \
    --enable-languages=c,c++,lto \
    --prefix=/tmp/thumb-m23-soft-eabi \
    --build=x86_64-pc-linux-gnu \
    --host=x86_64-pc-linux-gnu \
    --target=arm-eabi
$ make check-c \
    CFLAGS_FOR_BUILD="-pipe" \
    CXXFLAGS_FOR_BUILD="-pipe" \
    -j $(nproc) \
    -w \
    RUNTESTFLAGS=gcc.target/arm/cmse/cmse.exp

For Cortext M55 it's the same as above except with this configure command
instead:

$ /bin/bash /tmp/combined-tree-src/configure \
    SHELL=/bin/bash \
    --with-gnu-as \
    --with-gnu-ld \
    --disable-libmudflap \
    --enable-lto \
    --enable-shared \
    --without-included-gettext \
    --enable-nls \
    --with-system-zlib \
    --disable-sjlj-exceptions \
    --enable-gnu-unique-object \
    --enable-linker-build-id \
    --disable-libstdcxx-pch \
    --enable-c99 \
    --enable-clocale=gnu \
    --enable-libstdcxx-debug \
    --enable-long-long \
    --with-cloog=no \
    --with-ppl=no \
    --with-isl=no \
    --enable-threads=no \
    --disable-multiarch \
    --disable-multilib \
    --with-mode=thumb \
    --with-arch=armv8.1-m.main+mve.fp+fp.dp \
    --with-float=hard \
    --with-headers=yes \
    --with-native-system-header-dir=/include \
    --with-newlib \
    --enable-checking=yes \
    --disable-bootstrap \
    --disable-gdb \
    --enable-languages=c,c++,lto \
    --prefix=/tmp/thumb-m55-hard-eabi \
    --build=x86_64-pc-linux-gnu \
    --host=x86_64-pc-linux-gnu \
    --target=arm-eabi

Reply via email to