If the target is configured such that -mlong-call is passed by default, the function calls these tests are trying to detect by scanning the assembly file are performed using long calls, like so:
| foo: | @ memset-inline-2.c:12: memset (a, -1, 14); | mov r2, #14 @, | mvn r1, #0 @, | ldr r0, .L2 @, | ldr r3, .L2+4 @ tmp112, | bx r3 @ tmp112 Looking at .L2 (and in particular at .L2+4): | .L2: | .word a | .word memset <<<--- This change adds -mno-long-calls to the list of compiler options to make sure we generate short call code, allowing the assembly matching to pass. This is added unconditionally to the dg-options (as opposed to using dg-additional-options) because this test is already specific to ARM targets, and -mno-long-calls is available on all ARM targets. Regstrapped on x86_64-linux-gnu, and tested with -x-arm-wrs-vxworks7r2. Ok to install? from Joel Brobecker <brobec...@adacore.com> for gcc/testsuite/ChangeLog * gcc.target/arm/memset-inline-2.c: Add -mno-long-calls to the test's dg-options. * gcc.target/arm/pr78255-2.c: Likewise. --- gcc/testsuite/gcc.target/arm/memset-inline-2.c | 2 +- gcc/testsuite/gcc.target/arm/pr78255-2.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/memset-inline-2.c b/gcc/testsuite/gcc.target/arm/memset-inline-2.c index b8195cab8a67c..ba1f7ed1f1e35 100644 --- a/gcc/testsuite/gcc.target/arm/memset-inline-2.c +++ b/gcc/testsuite/gcc.target/arm/memset-inline-2.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-save-temps -Os -fno-inline" } */ +/* { dg-options "-save-temps -Os -fno-inline -mno-long-calls" } */ #include <string.h> #include <stdlib.h> diff --git a/gcc/testsuite/gcc.target/arm/pr78255-2.c b/gcc/testsuite/gcc.target/arm/pr78255-2.c index cc1c1801c37ee..fd379aecf9c75 100644 --- a/gcc/testsuite/gcc.target/arm/pr78255-2.c +++ b/gcc/testsuite/gcc.target/arm/pr78255-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "-O2 -mno-long-calls" } */ extern int bar (void *); -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Vim, Vi, Voltei pro Emacs -- GNUlius Caesar