[ARM/FDPIC v6 14/24] [ARM][testsuite] FDPIC: Skip unsupported tests
authorChristophe Lyon <christophe.lyon@st.com>
Tue, 10 Sep 2019 08:01:15 +0000 (10:01 +0200)
committerChristophe Lyon <clyon@gcc.gnu.org>
Tue, 10 Sep 2019 08:01:15 +0000 (10:01 +0200)
Several tests cannot work on ARM-FDPIC for various reasons: skip them,
or skip some directives.

gcc.dg/20020312-2.c: Skip since it forces -fno-pic.

gcc.target/arm/:
* Skip since r9 is clobbered by assembly code:
  20051215-1.c
  mmx-1.c
  pr61948.c
  pr77933-1.c
  pr77933-2.c

* Skip since the test forces armv5te which is not supported by FDPIC:
  pr40887.c
  pr19599.c

* Skip since FDPIC disables sibcall to external functions:
  sibcall-1.c
  tail-long-call
  vfp-longcall-apcs

* Skip size check since it's different for FDPIC:
  ivopts-2.c
  ivopts-3.c
  ivopts-4.c
  ivopts-5.c
  pr43597.c
  pr43920-2.c

* Disable assembler scanning invalid for FDPIC:
  pr45701-1.c
  pr45701-2.c
  stack-red-zone.c

* gnu2 TLS dialect is not supported by FDPIC:
  tlscall.c

* Test relies on symbols not generated in FDPIC:
  data-rel-2.c
  data-rel-3.c

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
Mickaël Guêné <mickael.guene@st.com>

gcc/testsuite/
* gcc.dg/20020312-2.c: Skip on arm*-*-uclinuxfdpiceabi.
* gcc.target/arm/20051215-1.c: Likewise.
* gcc.target/arm/mmx-1.c: Likewise.
* gcc.target/arm/pr19599.c: Likewise.
* gcc.target/arm/pr40887.c: Likewise.
* gcc.target/arm/pr61948.c: Likewise.
* gcc.target/arm/pr77933-1.c: Likewise.
* gcc.target/arm/pr77933-2.c: Likewise.
* gcc.target/arm/sibcall-1.c: Likewise.
* gcc.target/arm/data-rel-2.c: Likewise.
* gcc.target/arm/data-rel-3.c: Likewise.
* gcc.target/arm/tail-long-call: Likewise.
* gcc.target/arm/tlscall.c: Likewise.
* gcc.target/arm/vfp-longcall-apcs: Likewise.
* gcc.target/arm/ivopts-2.c: Skip object-size test on
arm*-*-uclinuxfdpiceabi.
* gcc.target/arm/ivopts-3.c: Likewise.
* gcc.target/arm/ivopts-4.c: Likewise.
* gcc.target/arm/ivopts-5.c: Likewise.
* gcc.target/arm/pr43597.c: Likewise.
* gcc.target/arm/pr43920-2.c: Likewise.
* gcc.target/arm/pr45701-1.c: Skip scan-assembler on
arm*-*-uclinuxfdpiceabi.
* gcc.target/arm/pr45701-2.c: Likewise.
* gcc.target/arm/stack-red-zone.c: Likewise.

Co-Authored-By: Mickaël Guêné <mickael.guene@st.com>
From-SVN: r275576

24 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/20020312-2.c
gcc/testsuite/gcc.target/arm/20051215-1.c
gcc/testsuite/gcc.target/arm/data-rel-2.c
gcc/testsuite/gcc.target/arm/data-rel-3.c
gcc/testsuite/gcc.target/arm/ivopts-2.c
gcc/testsuite/gcc.target/arm/ivopts-3.c
gcc/testsuite/gcc.target/arm/ivopts-4.c
gcc/testsuite/gcc.target/arm/ivopts-5.c
gcc/testsuite/gcc.target/arm/mmx-1.c
gcc/testsuite/gcc.target/arm/pr19599.c
gcc/testsuite/gcc.target/arm/pr40887.c
gcc/testsuite/gcc.target/arm/pr43597.c
gcc/testsuite/gcc.target/arm/pr43920-2.c
gcc/testsuite/gcc.target/arm/pr45701-1.c
gcc/testsuite/gcc.target/arm/pr45701-2.c
gcc/testsuite/gcc.target/arm/pr61948.c
gcc/testsuite/gcc.target/arm/pr77933-1.c
gcc/testsuite/gcc.target/arm/pr77933-2.c
gcc/testsuite/gcc.target/arm/sibcall-1.c
gcc/testsuite/gcc.target/arm/stack-red-zone.c
gcc/testsuite/gcc.target/arm/tail-long-call.c
gcc/testsuite/gcc.target/arm/tlscall.c
gcc/testsuite/gcc.target/arm/vfp-longcall-apcs.c

index f277621c8c8bae469b07d905234dde7c42f5bdda..9b96065701742f1824e723d9237f702da2250892 100644 (file)
@@ -1,3 +1,32 @@
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+       Mickaël Guêné <mickael.guene@st.com>
+
+       * gcc.dg/20020312-2.c: Skip on arm*-*-uclinuxfdpiceabi.
+       * gcc.target/arm/20051215-1.c: Likewise.
+       * gcc.target/arm/mmx-1.c: Likewise.
+       * gcc.target/arm/pr19599.c: Likewise.
+       * gcc.target/arm/pr40887.c: Likewise.
+       * gcc.target/arm/pr61948.c: Likewise.
+       * gcc.target/arm/pr77933-1.c: Likewise.
+       * gcc.target/arm/pr77933-2.c: Likewise.
+       * gcc.target/arm/sibcall-1.c: Likewise.
+       * gcc.target/arm/data-rel-2.c: Likewise.
+       * gcc.target/arm/data-rel-3.c: Likewise.
+       * gcc.target/arm/tail-long-call: Likewise.
+       * gcc.target/arm/tlscall.c: Likewise.
+       * gcc.target/arm/vfp-longcall-apcs: Likewise.
+       * gcc.target/arm/ivopts-2.c: Skip object-size test on
+       arm*-*-uclinuxfdpiceabi.
+       * gcc.target/arm/ivopts-3.c: Likewise.
+       * gcc.target/arm/ivopts-4.c: Likewise.
+       * gcc.target/arm/ivopts-5.c: Likewise.
+       * gcc.target/arm/pr43597.c: Likewise.
+       * gcc.target/arm/pr43920-2.c: Likewise.
+       * gcc.target/arm/pr45701-1.c: Skip scan-assembler on
+       arm*-*-uclinuxfdpiceabi.
+       * gcc.target/arm/pr45701-2.c: Likewise.
+       * gcc.target/arm/stack-red-zone.c: Likewise.
+
 2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
        Mickaël Guêné <mickael.guene@st.com>
 
index 98af0d4aad3a6de15aabddf9d85e2e2e2b13c69f..52c33d09b90a94e52c498fa78a96cbd37952366e 100644 (file)
@@ -9,6 +9,7 @@
 /* { dg-options "-O -fno-pic" } */
 /* { dg-additional-options "-no-pie" { target pie_enabled } } */
 /* { dg-require-effective-target nonlocal_goto } */
+/* { dg-skip-if "" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 
 extern void abort (void);
 
index 0519dc7ce475981563ad87ca5c84f677e58043bd..cc076935483953a059cc9e46a5f49b9a4a51d9fa 100644 (file)
@@ -3,6 +3,7 @@
    the call would need an output reload.  */
 /* { dg-do run } */
 /* { dg-options "-O2 -fno-omit-frame-pointer" } */
+/* { dg-skip-if "r9 is reserved in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 extern void abort (void);
 typedef void (*callback) (void);
 
index 6ba47d677a435bef762fec9b8eac794321c706a2..7d37a8c5f22805366624ddce88a497e6b5134621 100644 (file)
@@ -1,3 +1,4 @@
+/* { dg-skip-if "Not supported in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-options "-fPIC -mno-pic-data-is-text-relative -mno-single-pic-base" } */
 /* { dg-final { scan-assembler-not "j-\\(.LPIC"  } } */
 /* { dg-final { scan-assembler "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
index 2ce1e6607c5244d8971ac967549644005bf46b37..534c6c48423e7be5abacc5aead1010767877ad9a 100644 (file)
@@ -1,3 +1,4 @@
+/* { dg-skip-if "Not supported in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-options "-fPIC -mpic-data-is-text-relative" } */
 /* { dg-final { scan-assembler "j-\\(.LPIC"  } } */
 /* { dg-final { scan-assembler-not "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
index afe91aa16bc2af441c85ac55663108d5efb35e35..f1d5edbe0fd9813a3000aa82eba683af68424657 100644 (file)
@@ -14,4 +14,4 @@ tr4 (short array[], int n)
 
 /* { dg-final { scan-tree-dump-times "PHI <ivtmp" 1 "ivopts"} } */
 /* { dg-final { scan-tree-dump-times "PHI <" 1 "ivopts"} } */
-/* { dg-final { object-size text <= 26 { target arm_thumb2 } } } */
+/* { dg-final { object-size text <= 26 { target { arm_thumb2 && { ! arm*-*-uclinuxfdpiceabi } } } } } */
index faea99691413f0a7650387c73ef6f6bf255e33f2..357350cbe10c9fa0146ea9f019cd30ea1ec5eab3 100644 (file)
@@ -16,4 +16,4 @@ tr3 (short array[], unsigned int n)
 /* { dg-final { scan-tree-dump-times "PHI <ivtmp" 1 "ivopts"} } */
 /* { dg-final { scan-tree-dump-times "PHI <x" 0 "ivopts"} } */
 /* { dg-final { scan-tree-dump-times ", x" 0 "ivopts"} } */
-/* { dg-final { object-size text <= 30 { target arm_thumb2 } } } */
+/* { dg-final { object-size text <= 30 { target { arm_thumb2 && { ! arm*-*-uclinuxfdpiceabi } } } } } */
index b8101cb2c4661059e6f8aa8547c30cb207be5100..2e866c018231a1e5b62858bcc8e6122a692bbac2 100644 (file)
@@ -17,4 +17,4 @@ tr2 (int array[], int n)
 /* { dg-final { scan-tree-dump-times "PHI <ivtmp" 1 "ivopts"} } */
 /* { dg-final { scan-tree-dump-times "PHI <x" 0 "ivopts"} } */
 /* { dg-final { scan-tree-dump-times ", x" 0 "ivopts"} } */
-/* { dg-final { object-size text <= 36 { target arm_thumb2 } } } */
+/* { dg-final { object-size text <= 36 { target { arm_thumb2 && { ! arm*-*-uclinuxfdpiceabi } } } } } */
index f4f8c2c70883eb630c6b45619bb01f4fe3354f58..4e8e3806829cb572adbe898468d86de1c1a980af 100644 (file)
@@ -16,4 +16,4 @@ tr1 (int array[], unsigned int n)
 /* { dg-final { scan-tree-dump-times "PHI <ivtmp" 1 "ivopts"} } */
 /* { dg-final { scan-tree-dump-times "PHI <x" 0 "ivopts"} } */
 /* { dg-final { scan-tree-dump-times ", x" 0 "ivopts"} } */
-/* { dg-final { object-size text <= 30 { target arm_thumb2 } } } */
+/* { dg-final { object-size text <= 30 { target { arm_thumb2 && { ! arm*-*-uclinuxfdpiceabi } } } } } */
index 6317cc0d2424e3592a2594078894532d0a6dce9a..8060dbd40af0596f2082053def1ad4dffbd18a6f 100644 (file)
@@ -9,6 +9,7 @@
 /* { dg-require-effective-target arm32 } */
 /* { dg-require-effective-target arm_iwmmxt_ok } */
 /* { dg-final { scan-assembler "push.*ip,\[ ]*pc" } } */
+/* { dg-skip-if "r9 is reserved in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 
 /* This function uses all the call-saved registers, namely r4, r5, r6,
    r7, r8, r9, sl, fp.  Since we also save lr, that leaves an odd
index c3ee22017e6e8cbbd786010fb4d6cf282b59288b..a536548442f3e64e0d7e7daad1df4586424e6696 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-skip-if "need at least armv5te" { *-*-* } { "-march=armv[234]*" "-mthumb" } { "" } } */
+/* { dg-skip-if "FDPIC does not support armv5te" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-options "-O2 -march=armv5te -marm" }  */
 /* { dg-final { scan-assembler "bx" } } */
 
index 8c91cd9acbdf0dbc58733194ce8644c966e6fc8e..832f676a3eb7150d88c6059d12815d84a21a0755 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-skip-if "need at least armv5" { *-*-* } { "-march=armv[234]*" } { "" } } */
+/* { dg-skip-if "FDPIC does not support armv5te" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-require-effective-target arm_arch_v5te_ok } */
 /* { dg-options "-O2" }  */
 /* { dg-add-options arm_arch_v5te } */
index 3fdea983c3c0fee9e256af7b792a3ba55632e3be..6c9d4196c0062e1669e2e5713b4ab153513fea68 100644 (file)
@@ -24,4 +24,4 @@ foo4 ()
 
 /* { dg-final { scan-assembler-times "sub" 1 } } */
 /* { dg-final { scan-assembler-times "cmp" 0 } } */
-/* { dg-final { object-size text <= 30 } } */
+/* { dg-final { object-size text <= 30 { target { ! arm*-*-uclinuxfdpiceabi } } } } */
index f5e8f4837c6d7174ee7d82fe889b1fb2da15fe7f..c367d6bc15dc243a6c4d11c06f2e2fb60b5d4785 100644 (file)
@@ -29,4 +29,4 @@ int getFileStartAndLength (int fd, int *start_, size_t *length_)
 
 /* { dg-final { scan-assembler-times "pop" 2 } } */
 /* { dg-final { scan-assembler-times "beq" 3 } } */
-/* { dg-final { object-size text <= 54 } } */
+/* { dg-final { object-size text <= 54 { target { ! arm*-*-uclinuxfdpiceabi } } } } */
index 01db15abfd03eb916676e39b5db14a39596cbad6..b26011b650ffcb3235e55eee7aa4625a03429262 100644 (file)
@@ -1,8 +1,8 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
 /* { dg-options "-mthumb -Os" }  */
-/* { dg-final { scan-assembler "push\t\{r3" } } */
-/* { dg-final { scan-assembler-not "\[^\-\]r8" } } */
+/* { dg-final { scan-assembler "push\t\{r3" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
+/* { dg-final { scan-assembler-not "\[^\-\]r8" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
 
 extern int hist_verify;
 extern int a1;
index ce66d7509d1769fb96bb05e0d274be27e28a7188..32eed4d2567cec66fc36ce800d1f82110621ff8b 100644 (file)
@@ -1,8 +1,8 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
 /* { dg-options "-mthumb -Os" }  */
-/* { dg-final { scan-assembler "push\t\{r3" } } */
-/* { dg-final { scan-assembler-not "\[^\-\]r8" } } */
+/* { dg-final { scan-assembler "push\t\{r3" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
+/* { dg-final { scan-assembler-not "\[^\-\]r8" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
 
 extern int hist_verify;
 extern int a1;
index 411e898ea77cafc2ce6932499ba388b7bfe69324..3b2b72ac1c45707c888ae76a40a69d4b2ee195c4 100644 (file)
@@ -1,5 +1,6 @@
 /* PR target/61948 */
 /* { dg-do compile } */
+/* { dg-skip-if "r9 is reserved in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-require-effective-target arm_neon_ok } */
 /* { dg-require-effective-target arm_thumb2_ok } */
 /* { dg-options "-O2 -mthumb" } */
index 95cf68ea7531bcc453371f493a05bd40caa5541b..86b950728dd1c9ccd096c77fe026e39b19230e66 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-skip-if "r9 is reserved in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-options "-O2" } */
 
 __attribute__ ((noinline, noclone)) void
index 9028c4fcab4229591fa057f15c641d2b5597cd1d..a06c11a6b5f2ce659eddebc6b1bd1ea08e7d2be3 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
+/* { dg-skip-if "r9 is reserved in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-options "-mthumb -O2 -mtpcs-leaf-frame" } */
 
 __attribute__ ((noinline, noclone)) void
index cf352c12c6f6d380b4858af895b8d1c5edc2e0f8..dcdd55280e4dcb5cded64355877080d2d6036bbd 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile { target { arm32 } } } */
 /* { dg-options "-O2" } */
+/* { dg-skip-if "FDPIC does not support sibcall optimization" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 
 #define noinline __attribute__((noinline))
 
index b29ed0bdf8db54641c013e05c8f845d472e0d945..3385d7d509cb7a89b6aa7fa98ea2b1f8601cc66c 100644 (file)
@@ -1,7 +1,7 @@
 /* No stack red zone.  PR38644.  */
 /* { dg-skip-if "incompatible options" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
 /* { dg-options "-mthumb -O2" } */
-/* { dg-final { scan-assembler "ldrb\[^\n\]*\\n\[\t \]*add\[\t \]*sp" } } */
+/* { dg-final { scan-assembler "ldrb\[^\n\]*\\n\[\t \]*add\[\t \]*sp" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
 
 extern int doStreamReadBlock (int *, char *, int size, int);
 
index 9b274686849b59c613c7397d53a848d9a64bf92c..f70e9cf3938e655034d28e5a84f43f141bafa797 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-skip-if "need at least armv5te" { *-*-* } { "-march=armv[234]*" "-mthumb" } { "" } } */
+/* { dg-skip-if "FDPIC does not support tailcall optimization" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-options "-O2 -march=armv5te -marm" } */
 /* { dg-final { scan-assembler "bx" } } */
 /* { dg-final { scan-assembler-not "blx" } } */
index 366c1ae712376afe350bf8679a79b29d2ee9e868..5f4d58b493b36ead799850faae1aed1b781cb110 100644 (file)
@@ -2,6 +2,7 @@
 
 /* { dg-do assemble } */
 /* { dg-options "-O2 -fPIC -mtls-dialect=gnu2" } */
+/* { dg-skip-if "FDPIC does not support gnu2 TLS dialect" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 
 typedef struct _IO_FILE FILE;
 
index fa22b4da534f79efbf956c13928fa512e6862eba..817d5d0dc7733afaff6d0163d48a2b50e3b4b878 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-skip-if "FDPIC does not support sibcall optimization" { arm*-*-uclinuxfdpiceabi } "*" "" } */
 /* { dg-options "-mapcs-frame -O -foptimize-sibling-calls -ffunction-sections" } */
 
 extern void abort (void);