Skip to content

Commit

Permalink
compile gcc.target/arm/{pr78255-2.c,memset-inline-2.c} with -mno-long…
Browse files Browse the repository at this point in the history
…-calls

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, gcc-mirror#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.


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.
  • Loading branch information
brobecke authored and Alexandre Oliva committed Jan 1, 2021
1 parent 7ba5ce3 commit ba34b26
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion gcc/testsuite/gcc.target/arm/memset-inline-2.c
Original file line number Diff line number Diff line change
@@ -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>
Expand Down
2 changes: 1 addition & 1 deletion gcc/testsuite/gcc.target/arm/pr78255-2.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-options "-O2 -mno-long-calls" } */

extern int bar (void *);

Expand Down

0 comments on commit ba34b26

Please sign in to comment.